2011-12-30 292 views
0

我不知道爲什麼我無法從父對象中引用子對象屬性。這裏的關係是:從父對象引用嵌套對象

@class Vegetable; 

@interface MyVegetableGarden : NSManagedObject 

@property (nonatomic) NSTimeInterval datecreated; 
@property (nonatomic) NSTimeInterval datemodified; 
@property (nonatomic) BOOL active; 
@property (nonatomic, retain) Vegetable *vegetable; 

@end 

,這裏是蔬菜類:

#import <Foundation/Foundation.h> 
#import <CoreData/CoreData.h> 

@class VegetableCategory; 

@interface Vegetable : NSManagedObject 

@property (nonatomic, retain) NSString * about; 
@property (nonatomic) BOOL active; 
@property (nonatomic) NSTimeInterval dateCreated; 
@property (nonatomic) NSTimeInterval dateModified; 
@property (nonatomic, retain) NSString * imageURL; 
@property (nonatomic, retain) NSString * name; 
@property (nonatomic, retain) VegetableCategory *vegetableCategory; 

@end 

現在,我嘗試使用下面的代碼來訪問蔬菜類的名稱屬性:

MyVegetableGarden *v = [[MyVegetableGarden alloc] init]; 

v.vegetable.name // For some reason the compiler says that name property is not found 
+1

您是否正在導入Vegetable和MyVegetableGarden? – 2011-12-30 01:40:33

回答

1

確保你已經#進口的名稱屬性文件中的Vegetable.h

+0

謝謝克里斯!這是問題!我會在幾分鐘內接受你的回答。 – azamsharp 2011-12-30 01:43:06

1

我不是su再次,你可以創建一個NSManagedObject這樣的:S

docs狀態

如果直接實例化管理對象,你必須調用指定的初始化(initWithEntity:insertIntoManagedObjectContext:)。

另見

重要提示:此方法是NSManagedObject指定初始化。您不能簡單地通過發送init來初始化管理對象。