ma1*_*w28 3 iphone core-data subclass superclass nsmanagedobject
以编程方式将NSManagedObject-subclass(User)实例转换为其子类(AccountUser)实例的最佳方法是什么?
AccountUser继承自User:NSManagedObject
当我第一次注册或登录应用程序时,我成了一个AccountUser.然后,我下载所有朋友并将其存储为User对象.
这两个User与AccountUser有属性firstName,lastName等等.AccountUser有一些额外的东西,比如accessToken.
我的朋友约翰登录我的设备.因为他是我的朋友,所以他已经存放了User.但现在,我想把他变成一个AccountUser.以编程方式执行此操作的最佳方法是什么?我有很多属性和关系要保留,所以AccountUser从User对象创建一个新对象然后删除原始User对象是很多事情要做.如果我只创建一个AccountUser没有删除的User东西,事情会变得混乱.例如,当我User通过ID 获取时,我得到两个对象:一个是AccountUser,另一个是User.
一种方法是简单地创建一个新的AccountUser对象,并将现有User对象中的相关字段复制到其中.然后适当地处理旧的User对象 - 删除它,保存它,无论什么都有意义.为AccountUser提供一个初始化程序是有意义的,它接受一个User的实例,比如-initWithUser:.
另一个(可能更好)选项将涉及为所有用户使用单个类(用户).如果要为某些用户(当前是AccountUsers)存储其他信息,请创建一个新的Account类,并将Account的实例与需要它的用户相关联.因此,代表您和您的朋友John的User对象将各自具有关联的Account对象,而所有其他用户则不会.当您的其他朋友登录到您的手机时,您可以为该人创建一个新的帐户对象,并将其与现有的用户对象关联.
| 归档时间: |
|
| 查看次数: |
422 次 |
| 最近记录: |