【iOS开发】文件写入沙盒失败

在iOS开发中遇到将服务器返回数据写入沙盒失败的问题,代码使用[responseObject writeToFile:path atomically:YES]返回NO。经查阅文档,得知原因在于写入对象包含非属性列表对象(plist),而plist只支持特定的Foundation框架数据类型如NSNumber,NSString等。为解决此问题,需要确保写入的数据符合plist文件格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把服务器返回数据写入沙盒,在沙盒中找不到代码如下:

[responseObject writeToFile:path atomically:YES];

然后查了下返回值,发现写入数据失败。

BOOL success = [responseObject writeToFile:path atomically:YES];

返回值为NO

查阅文档结果:returns NO if all the objects are not property list objects, since the resultant file would not be a valid property list.

说明如果要存储的对象中如果包含有属性列表对象(plist对象),就会存储失败。

plist支持的数据类型有:Foundation框架中得数据类型NSNumber,NSString,
NSDate,NSArray,NSDictionary,BOOL, NSData。并且属性列表的根目录只能为NSDictionary或者NSArray。

plist文件通常用于储存用户设置,也可以用于存储捆绑的信息,其内容为xml格式。它可以在程序运行期间动态的创建和读写,因此可以用于少量数据时候的数据持久化。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值