Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.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
Iphone ios/核心数据-为特定实体对象保存实体_Iphone_Ios_Xcode_Core Data_Nsuserdefaults - Fatal编程技术网

Iphone ios/核心数据-为特定实体对象保存实体

Iphone ios/核心数据-为特定实体对象保存实体,iphone,ios,xcode,core-data,nsuserdefaults,Iphone,Ios,Xcode,Core Data,Nsuserdefaults,我得到了关于核心数据和关系规则的证明 我有一个多用户的实体。用户与名为事件的实体具有可选的一对多关系。在我的应用程序启动时,我创建了一个用户(我自己)和其他用户,并将其保存在CD中。i m的用户对象也保留在NSUserDefaults中 所以,现在我创建了一个事件,并希望将其分配给保存在核心数据中的userobject实体。我想使用保存在userdefaults中的user对象,并将事件添加到其中,如下所示: Event *event = (Event *)[NSEntityDescriptio

我得到了关于核心数据和关系规则的证明

我有一个多用户的实体。用户与名为事件的实体具有可选的一对多关系。在我的应用程序启动时,我创建了一个用户(我自己)和其他用户,并将其保存在CD中。i m的用户对象也保留在NSUserDefaults中

所以,现在我创建了一个事件,并希望将其分配给保存在核心数据中的userobject实体。我想使用保存在userdefaults中的user对象,并将事件添加到其中,如下所示:

Event *event = (Event *)[NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedObjectContext:managedObjectContext];
//property setters
event.createdBy = userObjectFromNSUserDefaults;
这条路对吗?这是否会将事件分配给该特定用户(在该示例中为me)

另一个理由是:

My event类(nsmanagedobject的子类)还具有一个NSSet属性,该属性具有添加和删除方法,用于向该事件添加/删除invitedUsers或acceptedUsers。如何正确使用这些方法


任何帮助都会得到一个cookie:=)

关于第一个问题-是的,这是在核心数据中建立关系的方法。 您只需将特定对象(NSManagementObject,是吗?)指定给属性

今天的另一种方式,如果是一对多,就是

[userObjectFromNSUserDefaults addEvent:event];
再次,如果它的管理对象

我在这里看到的唯一问题是,您将其保存在nsuserdefualts中。这意味着,当您从那里加载它时,它没有连接到您的MOC,我猜它不会工作。 您需要在nsuserdefaults中保存一些id或其他内容,而不是对象本身。
当应用程序加载时,使用该id从数据库中获取该对象。

我已经编写了一个创建并返回MOC的类。如果我使用MOC来添加事件会怎么样?这样行吗?无论如何,是否允许在UserDefault中保存对象?获得的第一个cookie:我不确定是否将对象保存在userdefails中。我认为保存一些id/字符串更安全,可以在需要时帮助您获取对象。