iOS中的UIBubbleTableView中未添加数据

时间:2016-08-26 08:11:38

标签: ios nsmutablearray xmppframework reloaddata uibubbletableview

我是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方法中获取新消息,但是没有添加到bubble tableview中。 任何人都可以帮我解决这个问题。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您必须实施tableView:cellForRowAtIndexPath:

在那里你应该把你的内容添加到UITableViewCell或它的自定义子类,然后它显示单元格。

Tutorial