繁体   English   中英

iPhone SDK:如何正确地将用户输入的信息保存到.plist或其他文件中?

[英]iPhone SDK: How do I properly save user-inputted information into a .plist or other file?

我仔细阅读了SDK文档以及提出的其他问题,但对于如何做到这一点我仍然有些困惑。 我以前一直在使用以下代码,尽管它没有提供.plist文件所需的结果。 除了在.m文件中的此代码的头文件中提到IBAction之外,还需要添加其他内容还是我应该采用的方法? 谢谢!

我的代码:

- (IBAction)fedDog { 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
    NSString *documentsDirectory = [paths objectAtIndex:0];  
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"dogsFedDays.plist"];   
    NSMutableArray *dogsFedSave = [NSMutableArray arrayWithCapacity: 100];  
    for (int i = 0; i < 100; i++) {  
        NSDictionary *myDict = [[NSDictionary alloc] initWithObjectsAndKeys:  
                                                        date[i], @"string", 
                                                        fed[i], @"Yes", 
                                                        nil];  
        [dogsFedSave addObject:myDict];  
        [myDict release];  
    }  
    if (![dogsFedSave writeToFile:path atomically:YES])  
        NSLog(@"not successful in completing this task");  
} 

我假设-writeToFile返回NO,所以您看到的是NSLog语句(如果我输入错了,请更正我)。 如果是这样的话,那么这个问题必须是在您的任一日期排列,或进食某些数组对象不是任何允许的对象类型属性列表,其中包括的:的NSString,NSData的,NSArray的,或者NSDictionary的。 不允许使用NSNull。 从文档的writeToFile:

此方法在写出文件之前递归地验证所有包含的对象都是属性列表对象,并且如果所有对象都不是属性列表对象,则返回NO,因为结果文件将不是有效的属性列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM