TableView没有重新加载

时间:2013-05-22 00:11:30

标签: ios objective-c uitableview

我正在使用表格视图设计一对一的聊天界面。修改此表视图以在某些新消息到达时显示气泡。在这种情况下,新消息通过推送通知到达。我在我的函数中调用以下代码,该函数通过推送通知接收消息:

-(void)messageReceived: (NSString *)message{
    _message=[message retain];
    [tableView reloadData];
}

但是,似乎这不会重新加载我的表视图。 如果我在reloadData函数中调用viewDidAppear,则会重新加载。如果我将reloadData调用放在返回类型为IBAction的函数中(例如:绑定到按钮单击的函数),它也可以重新加载。

reloadData不能通过自定义声明的函数触发的原因是什么?

2 个答案:

答案 0 :(得分:2)

调用reloaddata方法,但这里的技巧是你没有将传入的消息添加到tableview加载的数据源中!

答案 1 :(得分:1)

可能您没有将Tableview连接到表视图Delegates和Datasource

目标-C

@interface YourClass : UIViewController <UITextFieldDelegate, UITextViewDelegate>

yourtableview.delegate = self;
yourtableview.dataSource = self;

[tableView reloadData];

Swift 3

class YourClass: UIViewController , UITableViewDelegate, UITableViewDataSource
yourtableview.delegate = self
yourtableview.dataSource = self

yourtableview.reloadData()

另一种方式是!适用于Swift和Objective-C。 右键单击表视图并拖放代理。

enter image description here