Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
清除数据库后,iOS CoreData实体返回为Null_Ios_Iphone_Database_Core Data_Applet - Fatal编程技术网

清除数据库后,iOS CoreData实体返回为Null

清除数据库后,iOS CoreData实体返回为Null,ios,iphone,database,core-data,applet,Ios,Iphone,Database,Core Data,Applet,当用户注销应用程序时,我需要从核心数据中删除实体,它返回“null”实体 因此,我在注销应用程序时遇到崩溃,是否有任何关于处理实体上的空值的猜测 因为我使用了下面的案例,但它不起作用 if(![user isKindOfClass: [NSNull class]]) { } 删除实体后,返回为 <user: 0x1c4293ce0> (entity: <null>; id: 0xd000000000040004 <x-coredata://9E21A585-096

当用户注销应用程序时,我需要从核心数据中删除实体,它返回“null”实体

因此,我在注销应用程序时遇到崩溃,是否有任何关于处理实体上的空值的猜测

因为我使用了下面的案例,但它不起作用

if(![user isKindOfClass: [NSNull class]]) {
}
删除实体后,返回为

<user: 0x1c4293ce0> (entity: <null>; id: 0xd000000000040004 <x-coredata://9E21A585-096A-408F-AF0F-CB027A3E48F0/user/p1> ; data: <fault>)
(实体:;id:0xd000000000040004;数据:)


任何人都可以澄清为什么会发生这种情况

您的
用户
变量仍然包含对(已删除的)
NSManagedObject
子类实例的引用

由于对象已被删除,其
实体
显示为“null”,但
用户
没有对
NSNull
单例的引用

NSNull是一个单例对象,可用于将“null”值放入无法保存nil引用的对象(例如NSArray)

删除对象后,应明确设置
user=nil
,然后在
if
中检查
nil

if (user != nil) {
    [userComtext performBlock: ^{
        user.latitude = latitude
        user.longitude = longitude
    }];
}

您的
user
变量仍然保存对(已删除的)
NSManagedObject
子类实例的引用

由于对象已被删除,其
实体
显示为“null”,但
用户
没有对
NSNull
单例的引用

NSNull是一个单例对象,可用于将“null”值放入无法保存nil引用的对象(例如NSArray)

删除对象后,应明确设置
user=nil
,然后在
if
中检查
nil

if (user != nil) {
    [userComtext performBlock: ^{
        user.latitude = latitude
        user.longitude = longitude
    }];
}

将代码张贴到获取崩溃的位置以及与之相关的错误消息。我已更新了确切的崩溃,请检查它删除对象后,您应通过将
nil
分配给
user
明确放弃对该对象的引用,并在
if
中检查
nil
NSNull
是一个单例对象,可用于将“null”值放入无法保存
nil
引用的对象(例如
NSArray
)中,将获取崩溃的代码和相关错误消息发布到其中。我已更新了确切的崩溃,选中它删除对象后,应通过将
nil
分配给
user
明确放弃对该对象的引用,并在
if
中选中
nil
NSNull
是一个单例对象,可用于将“null”值放入无法保存
nil
引用的对象(例如
NSArray
)中,如果(user!=nil){[userContext performBlock:^{user.latitude=纬度;user.longitude=经度;删除对象时是否确实设置了
user=nil
在您的问题中?如果(user!=nil){[userContext performBlock:^{user.latitude=纬度;user.longitude=经度;删除对象时是否确实设置了
user=nil
你的问题是什么?