Я пытаюсь выполнить простое упражнение, в котором я сохраняю содержимое UITextField в файл, когда приложение закрывается.
Мой заголовочный файл выглядит следующим образом:
#define kFileName @"file.plist"
@interface applicationLaunchViewController : UIViewController {
UITextField *text1;
}
@property (nonatomic, retain) IBOutlet UITextField *text1;
-(void)applicationSaveFile:(NSNotification *)notification;
-(NSString *)dataFilePath;
Мой файл реализации:
@implementation applicationLaunchViewController
@synthesize text1;
-(void)applicationSaveFile:(NSNotification *)notification {
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:text1.text];
[array writeToFile:[self dataFilePath] atomically:YES];
[array release];
}
-(NSString *)dataFilePath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDictionary = [paths objectAtIndex:0];
return [documentsDictionary stringByAppendingPathComponent:kFileName];
}
- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
NSString *filePath = [self dataFilePath];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath];
self.text1.text = [array objectAtIndex:0];
[array release];
}
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationSaveFile:) name:UIApplicationDidEnterBackgroundNotification object:nil];
[super viewDidLoad];
}
Есть ли в этом коде что-то, чего мне не хватает? Когда я запускаю приложение, оно работает нормально, без ошибок. Я закрываю приложение, все еще в порядке, но когда я закрываю приложение через многозадачность и снова открываю, я получаю сообщение SIGKILL.
Любая помощь будет принята с благодарностью.