ios – 如何在NSUserDefault中设置实体

ios – 如何在NSUserDefault中设置实体,第1张

概述我们可以将核心日期实体存储到NSUser NSUserDefault中.我正在尝试保存实体.但它在我想要使用的点返回null.但是如果我尝试保存实体属性.it返回阀门. 如果我使用以下内容保存实体,下面是我的代码示例 MyEntity *newEntity = [self.fetchController objectAtIndexPath:indexPath]; [[NSUserDefau 我们可以将核心日期实体存储到NSUser NSUserDefault中.我正在尝试保存实体.但它在我想要使用的点返回null.但是如果我尝试保存实体属性.it返回阀门.

如果我使用以下内容保存实体,下面是我的代码示例

MyEntity *newEntity = [self.fetchController objectAtIndexPath:indexPath];    [[NSUserDefaults standardUserDefaults]setobject:newEntity forKey:@"Act"];

并使用以下内容获取实体.结果为null.

MyEntity *entityAtOtherClass =[[NSUserDefaults standardUserDefaults] valueForKey:@"Act"];

好像我试图存储实体属性说一些字符串,然后我能够获得此实体对象的值.

[[NSUserDefaults standardUserDefaults]setValue:newEntity.name forKey:@"Activity"];
解决方法 如果要返回相同的对象,则不需要存储整个对象 – 只需存储其对象ID.

存储很容易:

Nsstring *myObjectToStore = [[[myObject objectID] URIRepresentation] absoluteString];[[NSDefaults standardUserDefaults] setobject:myObjectToStore forKey:@"myKey"];

获取对象有点困难,因为您需要引用要使用的持久性存储和上下文;我假设他们在myPersistentStore和myContext中:

NSURL *myObjectURL = [NSURL URLWithString:[[NSDefaults standardUserDefaults] objectForKey:@"myKey"]];NSManagedobjectID *myObjectID = [myPersistentStore managedobjectIDForURIRepresentation:myObjectURL];NSError *error = nil;MYManagedobjectClass *myObject = [myContext existingObjectWithID:myObjectID error:&error];
总结

以上是内存溢出为你收集整理的ios – 如何在NSUserDefault中设置实体全部内容,希望文章能够帮你解决ios – 如何在NSUserDefault中设置实体所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1007048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存