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];
}

この Web サイトからこれを取得しましたが、このランタイム エラーを削除する方法が見つかりません。ありがとう

4

1 に答える 1

2

これはほとんど推測ですが、私は同じ問題を経験しました。

偶然かもしれませんが、私の場合、OS X を 10.8.4 にアップデートしてから初めてこの問題が発生しました。それ以来、他のすべての実行はクラッシュで終了します。

私の場合のバックトレースは次のようになります。

(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 に変更します。

ここに画像の説明を入力

これは 3 番目の質問のようなものです (他の質問は既にクローズされています)、または 10.8.4 がリリースされてから数日後に stackoverflow で見たので、この動作は更新に関連していると確信しています。

于 2013-06-08T14:18:33.717 に答える