【发布时间】:2017-10-19 17:11:41
【问题描述】:
我在 OSX、XCode9、Objective C 上。
我有一个在 IB 中布局的 viewController。该视图包含一个连接到相应视图控制器的按钮
SHTourViewController.h
@property (weak) IBOutlet SHStandardButton *closeButton;
// SHStandardButton is a subclass from NSBUtton.
视图控制器被另一个类中的代码实例化(我需要从其他类中实例化这个视图控制器,因为我需要不止一次)。
// Get instance of viewController
SHTourViewController* tourViewController = [storyBoard instantiateControllerWithIdentifier:@"tourViewController"];
现在在我的 viewController 的 viewDidLoad 方法中,我喜欢连接按钮动作和目标:
SHTourViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
[self.closeButton setAction:@selector(closeButtonClicked:)];
[self.closeButton setTarget:self];
}
- (void)closeButtonClicked:(id)sender {
NSLog(@"CLOSE!");
}
}
当我单击按钮时,应用程序崩溃(线程 1:EXC_BAD_ACCESS)。我在这里找不到我正在做的错误。
任何帮助表示赞赏。
【问题讨论】:
-
请从控制台提供实际的完整崩溃报告。
-
我附上了一张图片。为什么是-1?
-
如果在 Objective-C 异常上设置断点,Xcode 应该停止在实际错误而不是 NSApplicationMain。这会给你一行代码和一个有用的堆栈跟踪。
-
因为你只是在挥手;您没有显示问题的真正原因。仅仅说“它崩溃了”并不能提供任何信息。你让我们猜测,那有什么意义呢?
标签: objective-c xcode9 nsbutton