0

DBPostListViewControllerには、設定する必要のあるNSArray*postListがあります。

私は得続けます

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewController setPostList:]: unrecognized selector sent to instance 0x6e493d0

ここでsetPostList関数のprepareForSegue内:

    NSArray *tempAry = [str componentsSeparatedByString:@"|@|"];
NSMutableArray *postArray = [[NSMutableArray alloc] initWithCapacity:[tempAry count]];
for (NSString *entry in tempAry) {
    DBPost *tempPost = [[DBPost alloc] initWithString:entry];
    [postArray addObject:tempPost];
}

DBPostListViewController *dest = [segue destinationViewController];
[dest setPostList:postArray];
4

1 に答える 1

3

あなたのエラーメッセージはそれを説明しています:

-[UITableViewController setPostList:]: unrecognized selector

次のコード行でそのメッセージを送信します。

DBPostListViewController *dest = [segue destinationViewController];
[dest setPostList:postArray];

Objective-Cは動的に型付けdestされるため、を宣言したとしてもDBPostListViewController、Objective-Cオブジェクトであれば何でもかまいません。そしてこの場合、それはたまたまUITableViewControllerです。

ストーリーボードファイルにカスタムクラスを設定するのを忘れたため、UIKitはプレーンなUITableViewControllerのインスタンスを作成しているだけです。ストーリーボードを修正して、アプリを再実行します。

于 2012-05-23T17:05:40.447 に答える