代码之家  ›  专栏  ›  技术社区  ›  dpigera

iPhone:使用从核心数据创建的实体对象?

  •  0
  • dpigera  · 技术社区  · 16 年前

    我目前有一个通过核心数据创建的视频对象,定义如下:

    视频.h

    #import <CoreData/CoreData.h>
    
    
    @interface Video :  NSManagedObject  
    {
    }
    
    @property (nonatomic, retain) NSString * title;
    @property (nonatomic, retain) NSString * urlImage;
    @property (nonatomic, retain) NSString * description;
    @property (nonatomic, retain) NSString * urlString;
    
    @end
    

    和video.m:

    #import "Video.h"
    
    
    @implementation Video 
    
    @dynamic title;
    @dynamic urlImage;
    @dynamic description;
    @dynamic urlString;
    
    @end
    

    我需要我的应用程序来创建这些视频对象的nsmutablearray(在XML流中),并将它们显示给用户。

    但是,只有当用户单击“添加到收藏夹”时,才应保留视频。

    在解析方法中,我尝试创建一个视频对象,并为其分配相应的属性。但是,Xcode将失败,并出现此错误(在video.title=xmlstream.title期间):

    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Video setTitle:]: unrecognized selector sent to instance 0x70720d0'
    

    有人能告诉我如何修复这个以定期使用视频对象吗?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Douwe Maan    16 年前

    你应该使用 @synthesize 而不是 @dynamic . 使用时 @综合 吸气剂( -propertyName )和setter( -setPropertyName:(id)newPropertyName )方法在使用时自动实现 @动态 你必须自己去做。