(チャットメッセージをテーブルに表示するアプリを開発しています。しかし、ユーザーがチャットビューを開くメッセージを受信すると、このチャットをユーザーが開始することはできません。したがって、このコードを作成しました:
- (void) newMessageReceived:(NSMutableDictionary *)message
{
General *general = [General sharedManager];
NSString *firstmessage=[message objectForKey:@"msg"];
NSString *from=[message objectForKey:@"sender"];
NSArray *listItems = [from componentsSeparatedByString:@"@"];
NSString *fromsplit=[listItems objectAtIndex:0];
general.firstmess=firstmessage;
general.firstfrom=fromsplit;
NSLog(@"Mensaje recibido: %@ de %@", [message objectForKey:@"msg"], fromsplit);
ChatViewController *cvc=[[ChatViewController alloc]initWithNibName:@"Chat" bundle:nil];
[[self navigationController]pushViewController:cvc animated:YES];
}
ここまでは大丈夫です。ChatViewController は UITableViewController を拡張します。ただし、メッセージを受信すると、次の例外が発生します。
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "Chat" nib but didn't get a UITableView.
次に、UIViewController に拡張されたクラスを変更しようとします (プログラムが numberOfRowsInSection メソッドに入ることを確認するためにこれを行いました)。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ChatViewController setTableViewStyle:]: unrecognized selector sent to instance 0x9863200'
最初の例外を解決すると問題が解決すると思います。何か助けはありますか?
ありがとうございました。