2010-04-28 188 views
0

我想通過編碼保存應用程序狀態,當應用程序終止。 我發現解決方案涉及此問題。 但我不知道如何使用。如何在應用程序終止時保存應用程序的狀態?

我真的試圖使編碼和解碼這樣的: 在CustomObject.h http://cocoaheads.byu.edu/wiki/nscoding

在CustomObject.m

@interface CustomObject : NSObject <NSCoding> 
{ 
    NSArray *someArray; 
} 

@implementation CustomObject 

// Other method implementations here 

- (void) encodeWithCoder:(NSCoder*)encoder { 
    [encoder encodeObject:someArray forKey:@"someArray"]; 
} 

- (id) initWithCoder:(NSCoder*)decoder { 
    if (self = [super init]) { 
     someArray = [[decoder decodeObjectForKey:@"someArray"] retain]; 
    } 
    return self; 
} 

@end 

我的目標,以節省是另一NSArray的。在CustomObject中不是「someArray」。我們稱之爲「MySaveObject」。 我想在CustomObject中將「MySaveObject」傳遞給「someArray」。

其實我不知道如何編碼「MySaveObject」並傳遞給CustomObject中的「someArray」。

在此先感謝。

回答

0

您必須確保包含在陣列中的對象也能夠被編碼。如果這些對象是自定義對象,則必須自己實現NSCoding