2013-06-21 52 views
0

我有兩個NSObject的。如何保存和讀取NSObject

@interface Car : NSObject{ 
    @property (strong) NSSet *cars; 
} 

@interface Model : NSObject{ 
    @property (strong) UIImage *picture; 
    @property (strong) NSString *name; 
} 

基本上對象車具有的NSSet車和汽車的NSSet的每個對象具有的屬性圖片和名字。

我該如何關聯這兩個NSObject,以及如何使用Model NSObject的屬性將字符串或圖像保存到Car NSSet。謝謝。

回答

0

爲便於添加或刪除,應將「cars」屬性聲明爲NSMutableSet

並假設你的一個Car對象被命名爲「listOfCars」,這裏是做什麼(我覺得)你正在嘗試做的一種方法:

Model * newModel = [[Model alloc] init]; 
if(newModel) 
{ 
    newModel.picture = [UIImage imageNamed: @"Edsel.jpg"]; 
    newModel.name = @"Ugly Car"; 

    [listOfCars.cars addObject: newModel]; 
} 

而且,在你的車.m文件,做是這樣的:

- (id) init 
{ 
    self = [super init]; 
    if(self) 
    { 
     _cars = [[NSMutableSet alloc] init]; 
    } 
    return(self); 
} 

init方法是,你應該是指爲貴「cars」屬性的基礎變量的只有地方。如果您指的是從Car對象內設置的汽車,則其他地方應該是「listOfCars.cars」或「self.cars」。

+0

啊哈其實是一輛醜陋的車!我認爲這可行,但我似乎無法查看listOfCars.cars的內容只是爲了確保,它給了我空。我正在嘗試'NSLog(@「%@」,listOfCars.cars);' – user1698475

+0

正確,''cars''集合需要alloc'd。我修改了我的代碼。 –

+0

我已經做了mutableSet的alloc。它仍然給我空值。如果我做'NSLog(@「%@」,newModel.name)''它給了我正確的字符串,因此它保存。但是'listOfCars.cars'給了我null。也許我必須做一個不同的NSLog來查看對象。 – user1698475