Swift NSManagedObject不符合协议序列类型

时间:2016-05-18 14:10:48

标签: swift image relationship nsmanagedobject

我有一个名为NSManagedObject的{​​{1}},用于存储图片和说明。

这是类和扩展定义:

Media

Swift存储图像时没有问题:

class Media: NSManagedObject{}

extension Media {

@NSManaged var desc: String?
@NSManaged var image: NSData?
@NSManaged var carRelationship: Car?

}

但是当我去检索它时,编译器抱怨:(不编译)

        myMedia = NSEntityDescription.insertNewObjectForEntityForName("Media", inManagedObjectContext: managedObjectContext) as! Media
        myMedia.image = NSData(data: UIImageJPEGRepresentation(image, 1)!)
        car.mediaRelationship = myMedia

错误是:

  

输入'媒体?'不符合协议'序列类型'

1 个答案:

答案 0 :(得分:0)

检查您的汽车NSManagedObject中是否有@NSManaged var mediaRelationship: NSSet?。在检索集时,不要忘记解开(如果允许)mediaRelationship。 还要检查是否设置了反向关系