一直在寻找解决方案很长时间,但仍然没有成功,也许这里有人可以帮助我。
我创建了一个应用程序,该应用程序运行一个与后台网络服务器通信的线程。有时线程会收到我想在 UITableView 中显示的信息。由于内容的动态特性,我认为 NSMutableArray 应该足以存储来自网络服务器的信息。
每当我从 web 服务收到信息时,我的 AppDelegate 都会发送通知。我的 UITableView 注册以接收我打算在 UITableView 中显示的某些类型的信息。
UITableViewController 的 initWithStyle 方法包含以下代码:
- (void)addContact:(NSNotification *)note {
NSLog(@"%@", [note object]);
NSString *message = (NSString *)[note object];
NSString *name = [[message componentsSeparatedByString:@":"] objectAtIndex:2];
contact = name;
[array addObject:contact];
}
- (void)viewDidLoad {
[super viewDidLoad];
array = [[NSMutableArray alloc] initWithObjects:@"test1", @"test2", nil];
tv.dataSource = self;
tv.delegate = self;
self.tableView = tv;
}
AddContact 中的数组包含 TableView 中显示的数据。我在 ViewDidLoad: 中手动添加到数组的所有数据都将显示在表格中,但在 AddContact: 方法中添加的数据不会发生这种情况。
有人知道我在做什么错吗?