我目前正在使用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的值,而在另一个项目中则可以。我该如何解决这个问题?
答案 0 :(得分:-1)
我非常确定CoreData根本不支持NSOrderedSet。它可能支持NSSet用于一对多关系。 NSSorderedSet是一个有趣的类,它允许您将项目视为一个集合,同时能够同时为它们编制索引,并且很少使用它。