gpt4 book ai didi

iPhone iOS 在后台运行的应用程序会生成和处理通知吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:32:33 24 4
gpt4 key购买 nike

当应用进入后台模式时,我的应用正在下载 JSON 对象。该应用程序将它们转换为核心数据实体。我遇到的问题是我需要将这些核心数据实体的托管对象上下文与主要托管对象上下文合并。

合并这些更改的方式是通过通知:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(contextHasChanged:) name:NSManagedObjectContextDidSaveNotification object:nil];


- (void)contextHasChanged:(NSNotification*)notification
{

NSLog(@"received notification with object: %@",[[notification object] description]);
if ([notification object] == [AppUser managedObjectContext]) return;

if (![NSThread isMainThread]) {
[self performSelectorOnMainThread:@selector(contextHasChanged:) withObject:notification waitUntilDone:YES];
return;
}

[[AppUser managedObjectContext] mergeChangesFromContextDidSaveNotification:notification];
}

出于某种原因,我的代码在后台运行时没有收到这些通知。 应用程序在后台模式下运行时是否会继续生成通知?还是我注册此类通知的位置/时间有误?

感谢您的澄清!

最佳答案

应用程序继续在主界面或后台发送通知。你需要照顾在添加观察者和发布通知期间不应释放观察者。我认为在执行过程中可能存在一些错误,请阅读此内容

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObjectContext_Class/NSManagedObjectContext.html

关于iPhone iOS 在后台运行的应用程序会生成和处理通知吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10416581/

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