我試圖修改它,看看這裏的其他選項和谷歌搜索一些東西,但似乎沒有任何工作。NSKeyedArchiver工作在模擬器,但不是設備,iOS SDK
這就是我所擁有的,就像我說的那樣,它在模擬器中完美工作,但不是設備,女巫運行iOS 5.x 我感謝所有的幫助。
NSFileManager *filemgr;
NSString *docsDir;
NSArray *dirPaths;
filemgr = [NSFileManager defaultManager];
// Get the documents directory
dirPaths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
//Build the path to the data file
datafilePath = [[NSString alloc] initWithString: [docsDir
stringByAppendingPathComponent: @"data.archive"]];
// NSString *localPath = @"Documents/data.archive";
// datafilePath = [NSHomeDirectory() stringByAppendingPathComponent:localPath];
// Check if the file already exists
if ([filemgr fileExistsAtPath: datafilePath])
{
NSMutableArray *dataArray;
// NSDictionary *stuff;
dataArray = [NSKeyedUnarchiver
unarchiveObjectWithFile: datafilePath];
for(int i=0; i< [dataArray count]; i++){
titlestring = [dataArray objectAtIndex:i ];
detailsstring = [dataArray objectAtIndex:++i];
// date = [dataArray objectAtIndex:2];
[tabledata addObject:titlestring];
[tablesubtitles addObject:detailsstring];
}
}
}
這是saveButton行動: 就像我說的,我在模擬器上工作得很好,只是沒有做到在任何設備,一切都顯示空白。
if (i == 0) {
// [userDefaults setObject:titlefield.text forKey: @"titlehomework"];
// [userDefaults setObject:detailstextfield.text forKey:@"detailshomework"];
NSMutableArray *contactArray;
contactArray = [NSKeyedUnarchiver
unarchiveObjectWithFile: datafilePath];
// contactArray = [[NSMutableArray alloc] init];
[contactArray addObject:titlefield.text];
[contactArray addObject:detailstextfield.text];
[NSKeyedArchiver archiveRootObject:
contactArray toFile:datafilePath];
// NSDictionary *stuff;
}
如果你確切地描述*什麼*不起作用,這將是有幫助的。告訴我們你認爲應該發生什麼,實際發生了什麼,以及到目前爲止你已經嘗試了什麼。 – Caleb 2012-02-27 01:14:51
編碼代碼也是有幫助的。 – fbernardo 2012-02-27 01:30:08
好吧,我想我不創建文件,datafilePath也創建文件?將盡快編輯,但這基本上是我所有,我應該在委託中創建文件? – franklinexpress 2012-02-27 01:40:36