我在 IOS 应用程序中玩 swift 和 realm。
我尝试使用 realm.addNotificationBlock 重新加载 tableView。但我不知道如何实现这一点。有人可以帮我提供确切的代码示例吗?
谢谢
您可以检查类引用以实现捕获 RLMRealm 中的更改的通知处理程序:http: //realm.io/docs/cocoa/0.80.0/api/Classes/RLMRealm.html
在这个问题中,您有一个使用 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];
}
如果你使用 addNotificationBlock,addNotificationBlock: 的命名似乎和最新的 Swift 命名约定不太一致所以请你使用这段代码
notificationToken = realm.observe { (notification, realm) in
}