A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 罗冠坤 中级黑马   /  2014-4-14 15:56  /  946 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我创建了个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];
复制代码



评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 于清扬 于 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 是可以通过属性列表这种存储方式的

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马