繁体   English   中英

CoreData:将对象从一个ArrayController移到另一个

[英]CoreData: Move objects from one ArrayController to another

我有两个使用Core Data实体的NSArrayControllers ,我想将某些索引处的对象(通过NSIndexSet )从一个AC移动到另一个AC。 通常,这很容易,但是这并不是因为核心数据位于其中,如果我尝试使用它,它似乎是从源AC中删除对象,而不是将它们添加到目标AC中。 我正在使用此代码:

extension NSIndexSet
{
    func toArray() -> [Int]
    {
        var indexes:[Int] = [];
        self.enumerateIndexesUsingBlock
            {
                (index:Int, _) in
                indexes.append(index);
        }
        return indexes;
    }
}

func moveIndicesToTargetAC(indexSet:NSIndexSet)
{
    let a = indexSet.toArray();
    for i in a
    {
        var obj:NSManagedObject = sourceArrayController?.arrangedObjects.objectAtIndex(i) as! NSManagedObject;
        targetArrayController?.addObject(obj);
        sourceArrayController?.removeObjectAtArrangedObjectIndex(i);
    }
}

我需要做什么才能让Core Data考虑到删除和添加?

感谢任何人的提示! 我通过创建目标(NSManagedObject)实体的新对象并将所有数据传输到该对象来解决了该问题。 确实存在问题,因为两个AC的核心数据实体不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM