我試圖在iPhone應用程序中保存並讀回一些存儲爲NSStrings的應用程序設置,並且遇到了一些麻煩。從NSArray獲取NSString
的代碼保存的樣子:
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:accountID];
...
[array writeToFile:[self dataFilePath] atomically:YES];
[array release];
和代碼閱讀的樣子(帳戶是一個NSString *):
NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath];
accountID = [array objectAtIndex:0];
...
[array release];
NSLog(@"Loading settings for: %@", accountID);
的讀代碼,因爲數組後拋出異常發佈accountID變量也似乎已經發布(移動NSLog調用之前釋放數組工作正常)。所以我猜我正在創建對數組的引用,而不是將數組中包含的實際字符串拉出來。我嘗試了幾件事情來創建使用數組內容的新字符串,但沒有任何運氣。