Я занимаюсь разработкой приложения с использованием XCode 4.2, и в разделе Приложения мне нужно сохранить строки формата NSString в 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 - когда я останавливаю приложение с устройства (т.е. я дважды щелкаю по кнопке Main и удаляю его из списка запущенных приложений), приложение вылетает: оно выходитк этому
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?если да, что должно быть в нем?