0

我有这段代码,它对我不起作用并产生运行时错误

-(void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
//position button
myButton.frame = CGRectMake(50, 50, 50, 50);
[myButton setTitle:@"\u2606" forState:UIControlStateNormal];
// add targets and actions
[myButton addTarget:self action:@selector(myButtonClicked) forControlEvents:UIControlEventTouchUpInside];
// add to a view
[self.view addSubview:myButton];

}

-(void)myButtonClicked{
[myButton setTitle:@"\u2605" forState:UIControlStateNormal];
}

我从这个网站得到了这个,但找不到删除这个运行时错误的方法。谢谢

4

1 回答 1

2

这几乎是猜测,但我确实遇到了同样的问题。

这可能是巧合,但对我来说,这个问题是在我将 OS X 更新到 10.8.4 后第一次出现。从那时起,所有其他 Run 都以崩溃告终。

我的案例的回溯如下所示:

(lldb) bt
* thread #1: tid = 0x1c03, 0x9573da6a libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
frame #0: 0x9573da6a libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x9476ab2f libsystem_c.dylib`pthread_kill + 101
frame #2: 0x024e857b libsystem_sim_c.dylib`abort + 140
frame #3: 0x026afb4e GraphicsServices`GSRegisterPurpleNamedPort + 348
frame #4: 0x026af69f GraphicsServices`_GSEventInitialize + 123
frame #5: 0x026afc1f GraphicsServices`GSEventInitialize + 36
frame #6: 0x0076ed99 UIKit`UIApplicationMain + 600
frame #7: 0x0000225d XXX 3`main(argc=1, argv=0xbffff36c) + 141 at main.m:16
frame #8: 0x00002185 XXX 3`start + 53

由于它在所有发布的 50% 中都运行良好,而且它在我进行更新之前的几个月内运行良好,并且它适用于 gdb,我很确定这是 Apple 方面的一个错误。

此问题的解决方法可能是从 lldb 切换到 gdb。它对我有用。

您在方案编辑器中执行此操作(按command+ <)。在 Run 方案中将调试器更改为 gdb。

在此处输入图像描述

因为这就像第三个问题(其他问题已经关闭),或者我在 10.8.4 发布后的几天里在 stackoverflow 上看到,我很确定这种行为与更新有关。

于 2013-06-08T14:18:33.717 回答