简体   繁体   English

Swift NSManagedObject不符合协议序列类型

[英]Swift NSManagedObject does not conform to protocol sequence Type

I have an NSManagedObject called Media which stores a picture and a description. 我有一个名为MediaNSManagedObject ,它存储图片和描述。

Here's the class and extension definition: 这是类和扩展定义:

class Media: NSManagedObject{}

extension Media {

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

}

Swift stores the image without issue: Swift存储图像时没有问题:

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

But when I go to retrieve it, the compiler complains: (doesn't compile) 但是当我去检索它时,编译器抱怨:(不编译)

       for pic in car.mediaRelationship {

    }

The error is: 错误是:

Type 'Media?' 输入'媒体?' does not conform to protocol 'Sequence Type' 不符合协议'序列类型'

Check if you have @NSManaged var mediaRelationship: NSSet? 检查你是否有@NSManaged var mediaRelationship: NSSet? in your car NSManagedObject. 在你的汽车NSManagedObject。 Don't forget to unwrap (if let) mediaRelationship when retrieve set. 在检索集时,不要忘记解开(如果允许)mediaRelationship。 Also check if inverse relationship is set 同时检查是否设置了反向关系

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

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