【发布时间】:2014-04-17 19:04:43
【问题描述】:
我想将一个核心数据实体绑定到一个 UITextField,这样每当 textField 完成编辑时,它就会自动更新核心数据对象。
这就是我希望它的工作方式——不确定是否可行。
-
user是核心数据实体 -
user.gender是该实体的字段 -
genderField是一个 UITextField -
genderField.coreDataObject是一个 NSManagedObject 属性- 用户将内容键入
genderField - 完成后,
genderField触发didEndEditing - 在
didEndEditing中,genderField通过说genderField.coreDataObject = genderField.text设置user.gender
- 用户将内容键入
问题在于 coreDataObject 是 user 而不是 user.gender。所以,首先,你不能设置coreDataObject等于一个字符串。
我需要存储coreDataObject,然后以某种方式设置coreDataObject.gender = genderField.text
谢谢。
【问题讨论】:
-
错误/正在发生什么?它会崩溃吗?
-
刚刚更新了我的问题,因为我不清楚。问题是 coreDataObject 是用户而不是 user.gender。因此,您不能将 coreDataObject 设置为等于字符串。我需要设置
coreDataObject.gender = genderField.text,但不确定如何访问该属性 -
您是否为
NSManagedObject实体生成了类?如果没有尝试[genderField.coreDataObject setValue:genderField.text forKey:@"gender"]。 -
哇——太棒了!这样可行!好吧,我没有意识到你可以这样设置。如果您想将其作为答案放在下面,我会将其标记为正确答案
-
作为附录,您是否考虑过为您的实体生成 NSManagedObject 子类?这将使通过标准 getter/setter 访问它们的属性成为可能,并为您提供所有那些甜蜜、甜蜜、编译时检查。
标签: ios objective-c core-data uitextfield