0

私はiOSが初めてで、XMPPを介してメッセージを受信し、受信したメッセージをチャットテーブルビュー(UIBubbleTableView)に渡そうとするチャットアプリケーションに取り組んでいます。しかし、そのメッセージをテーブル ビュー配列に追加しようとすると、配列が null になるため、データがテーブル ビューに追加されません。

viewDidLoad メソッドでその配列にハードコードされたメッセージを保存しようとすると、それらのメッセージがテーブル ビューに表示されます。

以下は、XMPP クラスでメッセージを受信したときに呼び出されるメソッドです。

- (void)newMessageReceived:(NSString *)messageContent {

NSBubbleData *newdata = [NSBubbleData dataWithText: messageContent date:      [NSDate dateWithTimeIntervalSinceNow:0] type:BubbleTypeSomeoneElse];
bubbleData1=[[NSMutableArray alloc]init];
[bubbleData1 addObject:newdata];
_bubbleTable.bubbleDataSource=self;

      [_bubbleTable reloadData];

}

上記のメソッドは、以下に示す XMPP メソッドを使用してデータを受信します。

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message {



NSString *msg = [[message elementForName:@"body"] stringValue];
NSString *from = [[message attributeForName:@"from"] stringValue];

NSMutableDictionary *m = [[NSMutableDictionary alloc] init];
[m setObject:msg forKey:@"msg"];
[m setObject:from forKey:@"sender"];

ChatController *chat=[[ChatController alloc]init];
[chat newMessageReceived:[m valueForKey:@"msg"]];

}

newMessageRecieved メソッドで新しいメッセージを取得できますが、バブル テーブルビューに追加されません。誰でもこの問題を解決するのを手伝ってくれますか? どんな助けでも大歓迎です。

4

1 に答える 1