尝试为CoreData属性分配NSOrderedSet时出错

时间:2016-05-20 02:11:03

标签: ios debugging core-data compiler-errors

我目前正在使用CoreData并使用我在网络上找到的项目。我收到了一个项目的错误,但没有收到另一个项目的错误。但是我不清楚问题是什么。

  

"无法指定类型的值' NSOrderedSet'输入'位置?' "

func saveRun()
{
    let savedRun = NSEntityDescription.insertNewObjectForEntityForName( "Run", inManagedObjectContext: managedObjectContext!) as! Run
    savedRun.distance = distance
    savedRun.duration = seconds
    savedRun.timestamp = NSDate()

    var savedLocations = [Location]()
    for location in locations
    {
        let savedLocation = NSEntityDescription.insertNewObjectForEntityForName( "Location", inManagedObjectContext: managedObjectContext! ) as! Location
        savedLocation.timestamp = location.timestamp
        savedLocation.latitude = location.coordinate.latitude
        savedLocation.longitude = location.coordinate.longitude

        savedLocations.append( savedLocation )
    }
    savedRun.locations = NSOrderedSet(array: savedLocations)
}

我遇到的问题就是为什么我不能在一个项目中为属性位置分配NSOrderedSet的值,而在另一个项目中则可以。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

我非常确定CoreData根本不支持NSOrderedSet。它可能支持NSSet用于一对多关系。 NSSorderedSet是一个有趣的类,它允许您将项目视为一个集合,同时能够同时为它们编制索引,并且很少使用它。