gpt4 book ai didi

iphone - 在 NSPropertyListSerialization 中处理 CFNull 对象

转载 作者:太空狗 更新时间:2023-10-30 03:57:18 25 4
gpt4 key购买 nike

在我的应用程序中,我试图序列化服务器响应字典并将其写入文件系统。但是对于某些响应,我收到错误“属性列表对格式无效”。原因是服务器响应中的 CFNull 对象。现在,服务器响应将不断变化,所以我没有明确的方法来删除 CFNull 对象 ()。下面是我的代码:

NSString *anError = nil;
NSData *aData = [NSPropertyListSerialization dataFromPropertyList:iFile format:NSPropertyListXMLFormat_v1_0 errorDescription:&anError];

解决这个问题的最佳方法是什么?如何一次性从服务器响应中删除所有 CFNull 对象?

最佳答案

我在接收来自 Facebook SDK 的响应时遇到了这个问题,所以我实现了这个方法:

- (void)cleanDictionary:(NSMutableDictionary *)dictionary {
[dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
if (obj == [NSNull null]) {
[dictionary setObject:@"" forKey:key];
} else if ([obj isKindOfClass:[NSDictionary class]]) {
[self cleanDictionary:obj];
}
}];

这将遍历字典的层次结构并将所有 CFNull 转换为空字符串。

关于iphone - 在 NSPropertyListSerialization 中处理 CFNull 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6244873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com