У меня есть класс с одним первичным ключом и одним индексированным свойством.Отсутствует уведомление при изменении объекта
ModelBookmark.h
@interface ModelBookmark : RLMObject
@property NSString *uuid;
@property NSString *folderUuid;
@end
ModelBookmark.m
@implementation ModelBookmark
+ (NSArray *)indexedProperties
{
return @[@"folderUuid"];
}
+ (NSString *) primaryKey
{
return @"uuid";
}
-(void) changeFolder:(NSString *)newFolderUUID
{
if(![self.folderUuid isEqualToString:newFolderUUID])
{
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
self.folderUuid = newFolderUUID;
[realm commitWriteTransaction];
}
}
@end
И в некоторой таблице, я хочу, чтобы получать уведомления обо всех изменениях. Я написал:
RLMRealm *realm = [RLMRealm defaultRealm];
__weak MyCollectionsViewController *wself = self;
_bookmarksNotificationToken = [[ModelBookmark allObjectsInRealm:realm] addNotificationBlock:^(RLMResults *results, RLMCollectionChange *change, NSError *error) {
[wself updateFolderChilds:results change:change];
}];
Кажется, все хорошо и должно работать. Но это не так. Когда я меняю folderUuid
- есть только 50% шанс, что я получу уведомление об изменении.
Как я могу проверить, что происходит неправильно?