我正在使用XCode 4.2開發應用程序,並且在應用程序的一部分中,我需要將NSString格式字符串存儲在UITableView中,並在應用程序重新啓動...Objective C將數據保存在UItableView視圖中,即使在關閉應用程序後
數據保存在NSMutableArray
變量中。我發現,用一個老XCodeversion說了這段代碼的教程:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
NSArray *archivedArray = [NSKeyedUnarchiver unarchiveObjectWithFile:[self dataFilePath]];
if (archivedArray == nil) {
data = [[NSMutableArray alloc] init];
} else {
data = [[NSMutableArray alloc] initWithArray:archivedArray];
}
}
這個功能
-(NSString *)dataFilePath{
NSString *dataFilePath;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
dataFilePath = [documentDirectory stringByAppendingPathComponent:@"Test App-Info.plist"];
return dataFilePath;
}
我得到了以下兩個問題:
1 - 數據不保存...即使當我切換視圖 2-當我停止從設備的應用程序(即我雙擊主要按鈕,並從正在運行的應用程序列表中刪除它)應用程序崩潰:它去到這
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([HelloWorld18AppDelegate class]));
}
}
,並在行:return UIApplicationMain(argc, argv, nil, NSStringFromClass([HelloWorld18AppDelegate class]));
我得到一個綠色的錯誤Thread 1 : program received a signal "SIGKILL".
任何想法,爲什麼它是做什麼?
編輯: 如果在我的描述缺失的信息,請讓我知道
編輯: 問題:
數據使用此功能
-(void)saveData{
[NSKeyedArchiver archiveRootObject:[data copy] toFile:[self dataFilePath]];
}
編輯保存:我可能需要有一個loadData函數嗎?如果是的話需要在裏面呢?
我看不到正在保存你的數據在哪裏。 – user523234
感謝您的回覆,我編輯我的問題 – user1051935
我編輯我的問題感謝 – user1051935