該應用程序會將NSMutableArray保存到歸檔中,但沒有問題,但只要嘗試將NSMutableArray加載回新的NSMutableArray @ viewDidLoad,應用程序就會崩潰。我在代碼的最後放置了一個斷點,其中「tempArray = [unarchiver decodeObjectForKey:kDataKey46];」 tempArray正在加載歸檔數組,但是當我通過「for」循環@「[poolListData addObject:testTemp];」 「poolListData」不包含來自「tempArray」的數據。此外,如果我沒有使用中斷點,只是讓應用程序嘗試加載,應用程序將崩潰...你們認爲什麼?無法將已歸檔的NSMutableArray加載到新的NSMutableArray中
謝謝你的時間! 傑夫
NSString *filePath = [self dataFilePath];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath])
{
NSData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath]];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
field1.text = [unarchiver decodeObjectForKey:kDataKey1];
// snip another bunch of fields
field37.text = [unarchiver decodeObjectForKey:kDataKey37];
soundOn = [unarchiver decodeBoolForKey:kDataKey38];
soundVolumeSlider.value = [unarchiver decodeDoubleForKey:kDataKey39];
soundVolumeValue = [unarchiver decodeDoubleForKey:kDataKey39];
tempArray = [unarchiver decodeObjectForKey:kDataKey46];
[unarchiver finishDecoding];
for(int i = 0; i < [tempArray count]; i++)
{
NSData *testTemp = 0;
//NSString *temp = [tempArray objectAtIndex:i];
testTemp = [tempArray objectAtIndex:i];
[poolListData addObject:testTemp];
//[poolListData addObjectsFromArray:tempArray];
}
/*
firstNameTextField.text = field1.text;
lastNameTextField.text = field2.text;
adressTextField.text = field3.text;
emailTextField.text = field4.text;
*/
[tempArray release];
[unarchiver release];
[data release];
}
謝謝!!!那是我需要做的 – Jeff 2009-10-06 19:17:20
P.S.殺手圖標! – Jeff 2009-10-06 19:17:54