1

UITableViewのデータソースとしてNSMutable配列を使用しています。データベースから値をフェッチして、可変配列に追加しています。ビューが読み込まれると、テーブルビューに可変配列が入力され、正常に読み込まれます。後でセルをクリックすると、認識されないセレクターがインスタンスに送信されたというエラーがスローされます

配列内に、nameプロパティを持つpersonオブジェクトを格納しています。person.nameユーザーが各セルをクリックするとエラーが表示されるので、person.nameをdisolayしようとすると、後ですべてのセルをロードしています。これが私のやり方です

Person *per = (Person*)[my arr objectAtIndex:indexPath.row];
NSlog(@"%@",per.name);

ここでクラッシュします。しかし、私は人の名前を表示するためにcellforRowAtIndexPath内で同じコードを使用しています。

エラーは、認識されないセレクター名がNSArrayに再度送信されることを示し、認識されないセレクター名がUIDeviceRGBColorに送信されることを示します。

つまり、NSMutable配列から正しいオブジェクトが返されません。

どうすればこれを適切に行うことができますか?

ありがとう

4

1 に答える 1

1

これは、アレイの配置が解除されているためです。アレイが適切に保持されていることを確認してください。ARCでは強力なリファレンスがあります。非ARCでは、配列を保持していることを確認してください(プロパティを使用することをお勧めします)。

于 2013-02-08T17:55:12.213 に答える