@interface RTStaffImage : NSManagedObject {
UIImage *image;
}
// Custom properties
@property (nonatomic, retain) UIImage *image;
// Managed object properties
@property (nonatomic, retain) NSNumber *imageID;
@property (nonatomic, retain) NSString *imageName;
和自定义访问器方法:
- (void)setImage (UIImage*)im;
- (UIImage *)image;
并在实施中:
@implementation RTStaffImage
@synthesize image;
@dynamic imageID;
@dynamic imageName;
这在运行时因无法识别的选择器问题而失败:
-[NSManagedObject setImage:]: unrecognized selector sent to instance
以上方法是Apple(或者,至少据我所知,已经阅读过文档)概述瞬态属性所以它应该有效: - (
任何想法,评论?
答案 0 :(得分:0)
是的,你有这些倒退:
@synthesize image;
@dynamic imageID;
@dynamic imageName;
你正在为setImage和image提供一个实现,所以image应该是@dynamic,而其他你需要合成方法,所以使用@synthesize for imageID和imageName。
好的一点是,他们都应该是@dynamic,因为你使用的是CoreData。
第二次尝试:您已将RTStaffImage设置为实体中的类名称,对吗?
第3次尝试:RTStaffImage.m实际上是构建Target的一部分吗?
答案 1 :(得分:0)
- (void)setImage (UIImage*)im;
你错过了setImage和(UIImage *)之间的冒号。这是正确的版本:
- (void)setImage:(UIImage*)im;
这两种方法的实现在哪里?
-[NSManagedObject setImage:]: unrecognized selector sent to instance
好奇,我在那里读了NSManagedObject,你确定你在那里创建了RTStaffImage的实例吗?