2011-02-19 12 views
0

これは私のアプリのセットアップです。私の見解では、メソッドをロードし、NSMutableArrayを作成し、オブジェクトのリスト(initWithObjects:メソッドを使用)で初期化します。この配列getはテーブルビューに問題なくロードされます。また、ナビゲーションバーに「+」ボタンを追加してテーブルにデータを追加しました。私の問題は、これを押すたびに私のアプリがフリーズし、SIGABRTシグナルが出るということです。誰かが私が間違っていることを教えてもらえますか?'NSInvalidArgumentException'は、UITableにデータを追加する際にエラーが発生しましたか?

私はプロパティを使用して配列を保持しており、これを合成しました。私はdeallocメソッドでも解放しています。

私はこのような配列を作成しています:

NSMutableArray *array = [[NSArray alloc] initWithObjects:@"data 1", @"data 2", @"data 3", nil]; 
self.myArray = array; 
[array release]; 

私はこれとナビゲーションバーにある「+」ボタンを作成しています:

UIBarButtonItem *addDataButton = [[UIBarButtonItem alloc] initWithTitle:@"+" 
                    style:UIBarButtonItemStyleBordered 
                    target:self 
                    action:@selector(addData)]; 

データを追加するための私の方法は次のとおりです。これは、すべての場合に役立ちます

- (void)addData { 

    [myArray addObject:@"some data"]; 
    [self.tableView reloadData]; 

} 

はまた、私はコンソールで取得エラーメッセージはこれです:

2011-02-19 13:02:09.987 MyApp[480:307] -[__NSArrayI addObject:]: unrecognized selector sent to instance 0x1bee50 
2011-02-19 13:02:10.020 MyApp[480:307] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI addObject:]: unrecognized selector sent to instance 0x1bee50' 
+0

はあなたがmyarrayの作成のコードを投稿できるの - それはまさに私の問題だった何らかの理由 – Vladimir

答えて

2

NSArrayを作成しており、NSMutableArrayではないため、オブジェクトを追加することはできません。配列の初期化に変更します。

NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"data 1", @"data 2", @"data 3", nil]; 
+0

完璧のためNSMutableArrayのではなく、NSArrayのように見えます。私はそれを逃したとは信じられません。ありがとうございました。 – cgossain

関連する問題