首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSOrderedSet不能转换为NSManagedObject

NSOrderedSet不能转换为NSManagedObject
EN

Stack Overflow用户
提问于 2014-10-10 11:04:54
回答 1查看 412关注 0票数 0

我在一定程度上遵循Ray的教程(如果您搜索“保存运行”,应该跳到有关这个问题的部分)。我也用' swift‘标记了这个,因为我不知道它是否很快会引起任何麻烦(因为它在ObjC中的教程中起作用)。

目前,我只能将位置数据保存到CoreData数据模型中。

这里是我的saveSession方法的代码:

代码语言:javascript
复制
func saveSession()
    {
        var newSession: Session = NSEntityDescription.insertNewObjectForEntityForName("Session", inManagedObjectContext: self.managedObjectContext!) as Session
        
        newSession.timestamp = NSDate()
        
        var tempArray = [AnyObject]()
        for newLocation in self.locationsArray {
            var location: Location = NSEntityDescription.insertNewObjectForEntityForName("Location", inManagedObjectContext: self.managedObjectContext!) as Location
            
            location.timestamp  = newLocation.timestamp
            location.latitude   = newLocation.coordinate.latitude
            location.longitude  = newLocation.coordinate.longitude
            location.altitude   = newLocation.altitude
            location.heading    = newLocation.heading
            location.horizontalAccuracy = newLocation.horizontalAccuracy
            location.verticalAccuracy = newLocation.verticalAccuracy
            
            tempArray.append(location)
        }
        
        // This is the line producing the error:
        // 'NSOrderedSet' is not convertible to 'NSManagedObject'

        newSession.locations = NSOrderedSet(array: tempArray)
    }

以下是我的数据模型:

会话实体

定位实体

如果需要更多的代码/信息来解决这个问题,请告诉我。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-10 11:13:22

您已经将locations属性定义为“一对一”关系。这应该是一种“多对多”的关系。然后您可以分配一个NSSetNSOrderedSet,这取决于关系是否定义为“有序”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26297954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档