我在IOS应用程序中玩swift和realm。
我尝试使用realm.addNotificationBlock重新加载tableView。但我不知道如何实现这一点。有人可以用确切的代码示例帮助我吗?
谢谢
答案 0 :(得分:4)
您可以检查类引用以实现捕获RLMRealm中的更改的通知处理程序:http://realm.io/docs/cocoa/0.80.0/api/Classes/RLMRealm.html
在这个issue中,你有一个使用addNotificationBlock的测试用例(非主线程)。
我希望这对你有所帮助。
同时查看示例: RealmTableViewExample
- (void)viewDidLoad
{
[super viewDidLoad];
[self setupUI];
// Set realm notification block
__weak typeof(self) weakSelf = self;
self.notification = [RLMRealm.defaultRealm addNotificationBlock:^(NSString *note, RLMRealm *realm) {
[weakSelf reloadData];
}];
[self reloadData];
}
- (void)reloadData
{
self.array = [[DemoObject allObjects] arraySortedByProperty:@"date" ascending:YES];
[self.tableView reloadData];
}
答案 1 :(得分:0)
如果您使用的是addNotificationBlock,则addNotificationBlock的命名似乎与最新的Swift命名约定不太一致,因此请使用此代码
notificationToken = realm.observe { (notification, realm) in
}