как сохранить данные на файл plist в какао Touch - PullRequest
0 голосов
/ 21 сентября 2011
#import <UIKit/UIKit.h>

@interface SavingDataViewController : UIViewController {

    UITextField *field1;

}
@property (nonatomic , retain ) IBOutlet UITextField *field1;

-(NSString *) pathOfFile;
-(void) applicationWillTerminate:(NSNotification *) notification;


@end




@implementation SavingDataViewController
@synthesize field1;

-(NSString *) pathOfFile
{
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *doucumentFolder = [path objectAtIndex:0];
    return [doucumentFolder stringByAppendingFormat:@"myFile.plist"];

}
-(void) applicationWillTerminate:(NSNotification *) notification
{
    NSMutableArray *array = [[NSMutableArray alloc] init];
    [array addObject:field1.text];
    [array writeToFile:[self pathOfFile] atomically:YES];
    [array release];

}


- (void)viewDidLoad
{
    NSString *filePath = [self pathOfFile];
    if([[NSFileManager defaultManager] fileExistsAtPath:filePath])
    {
        NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath];
        field1.text = [array objectAtIndex:0];
        [array release];
    }

    UIApplication *app = [UIApplication sharedApplication];
   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillTerminate:) name:UIApplicationWillTerminateNotification object:app];



    [super viewDidLoad];
}

Я хочу сохранить данные в plist-файле с этим кодом, но когда я перезапускаю программу, у меня возникает проблема в этой строке: int retVal = UIApplicationMain (argc, argv, nil, nil); есть ошибка: программа получила сигнал

в чем моя проблема?

1 Ответ

0 голосов
/ 21 сентября 2011

действительно ли он сохраняет файл ?! Что находится в файле, когда вы открываете его вручную. Вы можете объединить путь к документу, используя stringByAppendingPathComponent, а не stringByAppendingFormat, так как я думаю, что путь к документам не имеет конечного разделителя пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...