2010-11-07 65 views
0

我有一個代表模型目標C類 - 警告問題

myModel.h

#import <CoreData/CoreData.h> 

@property (nonatomic, retain) NSString * prop1; 
@property (nonatomic, retain) NSString * prop2; 
@property (nonatomic, retain) myModel2 * model; 

myModel.m

@dynamic prop1; 
@dynamic prop2; 
@dynamic model; 

myModel2.h

一個simeple類
#import <CoreData/CoreData.h> 

@property (nonatomic, retain) NSString * prop1; 
@property (nonatomic, retain) NSString * prop2; 
@property (nonatomic, retain) myModel * model; 

我的Model2.m

@dynamic prop1; 
@dynamic prop2; 
@dynamic model; 

someclass.m

myModel *myVar = (code that populates); 

[myVar setProp1:@"test"]; // I get a myVar may not respond to -setprop1; 
[myVar setProp2:@"test"]; // NO Warning everything oK. 

而且,模型包含循環引用...

回答

1

的約定是setProp1 :,不setprop1:

不知道爲什麼你沒有看到第二個警告。順便說一句,你的財產是一個NSNumber *,你試圖在那裏傳遞一個int。

+0

即使我的聲明是小寫? – Arcadian 2010-11-07 02:09:49

+0

是的,根據約定,稱爲'prop1'的屬性的setter是'setProp1'。如果你不告訴編譯器,那就是它所期望的。 – 2010-11-07 02:10:50

+0

好吧,它仍然抱怨。我有6個屬性都是以相同的方式聲明的,只有其中的幾個是可以的,而另一個則有關於沒有響應的警告... – Arcadian 2010-11-07 02:15:11