黑马程序员技术交流社区

标题: 关于NSArray写入文件的问题 [打印本页]

作者: 罗冠坤    时间: 2014-4-14 15:56
标题: 关于NSArray写入文件的问题
我创建了个NSArray数组,想把它写入文件,如下:
  1. Person *p1 = [[Person alloc] init];
  2. Person *p2 = [[Person alloc] init];
  3. NSArray *array = @[p1,p2];

  4. //下面的result为什么返回0(NO),为什么写入失败呢?
  5. BOOL result = [array writeToFile : @"/Users/aaa/Desktop/a.plist" atomically: YES];
复制代码




作者: 于清扬    时间: 2014-4-14 16:58
本帖最后由 于清扬 于 2014-4-14 17:00 编辑

如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件中

数组中的对象是Person 类型 用这种方式是不行的

可以使用NSKeyedArchiver(NSCode)归档

  1. NSArray * array = @[@"jack",@"rose"];
  2.    
  3.     BOOL result = [array writeToFile : @"/Users/xxxx/Desktop/a.plist" atomically: YES];
  4.    
  5.     NSLog(@"%d",result);
复制代码

数组中是NSString 是可以通过属性列表这种存储方式的






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2