0

UIButton で奇妙な問題に直面しています。

ボタンをタップすると、アプリがクラッシュします。

そのためのコードを以下に書きました...

 -(IBAction)renameTest:(id)sender
{

  NSLog(@"Tapped");

    // UIButton *button = (UIButton *)sender;
NSUInteger row = 1;//button.tag;

NSString * titlename = [titleArray objectAtIndex:row];

RenameTest *renameVC = [[RenameTest alloc]initWithNibName:@"RenameTest" bundle:nil];

renameVC.titlespell = titlename;
NSLog(@"titlespell = %@",renameVC.titlespell);

NSLog(@"title = %@",titlename);

    // [button release];

[self.navigationController pushViewController:renameVC animated:YES]; //here APP is cresh

[renameVC release];

}

.Xib ファイル名もチェックします。問題なく、ファイルはそこにあります。

エラー メッセージは以下のとおりです。

   2012-07-11 14:28:29.079 TestApp[238:207] -[__NSCFDictionary _isNaturallyRTL]: unrecognized selector sent to instance 0x73d8a80

前もって感謝します。

4

4 に答える 4

0

辞書に関連するクラッシュがあり、titlename文字列が に等しく設定されていますtitleArray objectAtIndex:row

私は、あなたの変数の宣言を見ずに、それtitleArrayは辞書であるか、辞書のplistからの インポートでNSMutableArrayあると信じていますobjectForKey.あなたの鍵。これは答えではないかもしれませんが、クラッシュ レポートと目に見えるコードから、これは私が推測するものです。

[[titleArray objectAtIndex:(NSUInteger *)] objectForKey:(NSString *)]

(NSUInteger *)row(NSString *)

于 2012-07-11T09:21:31.657 に答える
0

[ボタンリリース] が問題の原因です。外して確認。

于 2012-07-11T09:02:33.607 に答える
0

_isNaturallyRTL は NSString メソッド (プライベート) であり、どこかで文字列ではなく辞書を渡しているようです。

例外を中断し、その時点でのコール スタックを表示すると、非常に役立ちます。

于 2012-07-11T09:06:49.747 に答える
0

xib ファイルでボタンを作成した場合、ボタンを割り当てておらず、所有権を主張していないため、ボタンを解放できません。alloc を呼び出して割り当てたオブジェクトに対してのみ release を呼び出す必要があります。

[button release] クラッシュを修正するステートメント .. を削除して ください!

于 2012-07-11T09:08:31.430 に答える