我卡住調試一個NSInvalidArgumentException。我最近的懷疑是,我沒有正確保留從plist讀取的數據,以便在訪問它時被其他物體佔據。如何正確保留從plist讀取的數據?
我的plist結構非常複雜,它有8個級別的數組/字典。當我嘗試訪問最低的對象時,我想我失去了內存。
我想知道當我讀plist文件時是否必須保留每個數據元素,還是僅僅保留頂層對象就足夠了?
這是我讀:
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];
NSError *error = [[[NSError alloc] init] autorelease];
NSArray *temp = (NSArray *)[[NSPropertyListSerialization
propertyListWithData:plistXML
options:NSPropertyListMutableContainersAndLeaves
format:nil
error:&error] retain];
self.dataPackage = [temp objectAtIndex:0];
dataPackage
聲明爲:
@interface rootViewController:UIViewController{
NSDictionary *dataPackage;
}
@property (retain) NSDictionary *dataPackage;
合成:
@synthesize dataPackage;
我這樣做對嗎?
感謝
利奧
請提供更多關於您得到什麼異常以及它說了什麼的細節?無效的論點?哪一個?在哪一行? – progrmr