创建 NSManagedObject 属性值的副本
Posted
技术标签:
【中文标题】创建 NSManagedObject 属性值的副本【英文标题】:Creating a copy of attribute value of NSManagedObject 【发布时间】:2014-10-14 12:26:07 【问题描述】:我需要创建 NSManagedObject list
的 listID
属性的副本/保存/复制。该方案首先从本地存储中删除列表,然后我向服务器发送请求以使用它们的 ID 删除 list
对象,但是当我从本地存储中删除对象时,我无法访问对象 ID。以下是代码
List *list = (List*)[self.fetchedResultsController objectAtIndexPath:indexPath];
NSString *listID = [list.listID stringValue];
[listsToDelete addObject:listID];
[context deleteObject:[self.fetchedResultsController objectAtIndexPath:indexPath]];
我试图将对象 id 字符串值存储在一个数组中以供以后使用,但无济于事,因为如果稍后我访问 listToDelete
它是零。为什么我需要这样做才能实现这一目标?
【问题讨论】:
【参考方案1】:根据您展示的有限代码,我想到了一些事情:
1) 您是否初始化了您的 listsToDelete?我想那是NSMutableArray
类型。您需要正确初始化它。
IE。 NSMutableArray* listsToDelete = [[NSMutableArray alloc] init];
2) 在将list.listID
添加到数组之前,您是否尝试过记录它的值?也许值是nil
开始?
【讨论】:
是的,这是NSMutableArray
的初始化问题。谢谢。以上是关于创建 NSManagedObject 属性值的副本的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp NSManagedObject类别,用于在另一个上下文中创建深层副本
如何有效地从 NSManagedObject 中获取属性的所有有效值?
每次创建新对象时迭代 NSManagedObject 的属性