gpt4 book ai didi

ios - 如何使用 simperium 更改 "listen"以更改特定对象

转载 作者:行者123 更新时间:2023-11-29 13:13:43 27 4
gpt4 key购买 nike

我想知道您能否帮助我理解如何使这段代码“监听”以适应simperium 的变化。当使用 NSFetchedResultsController 时,这一切都会自动发生,但我将如何处理以下代码?试图阅读文档,但我不是很清楚。

NSError *error;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
fetchRequest.entity = [NSEntityDescription entityForName:kPersonEntity inManagedObjectContext:self.managedObjectContext];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"title == queen"];
NSArray *array = [[self.managedObjectContext executeFetchRequest:fetchRequest error:&error] filteredArrayUsingPredicate:predicate];

if(array.count > 0) {
_queen = (Person *)[array objectAtIndex:0];
}

谢谢!

最佳答案

您可以收听 NSManagedObjectContextDidSaveNotification 通知并采取相应行动。一旦 Simperium 处理并保存任何更改,您将收到 NSManagedObjectContextDidSaveNotification 通知。听听:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(contextSaved:) name:NSManagedObjectContextDidSaveNotification object:ctx];

然后,在您的contextSaved: 方法中,您过滤掉您关心的对象

    - (void)contextSaved:(NSNotification *)n
{
NSDictionary *userInfo = [n userInfo];
NSSet *objects = <see NSManagedObjectContext Change Notification User Info Keys>
<filter/process objects>
}

此外,不要忘记removeObserver:

[[NSNotificationCenter defaultCenter] removeObserver:self];

关于ios - 如何使用 simperium 更改 "listen"以更改特定对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16436155/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com