我在目标C中创建了一些XML,我知道如何做到这一点,但是有可能我可能会有800多个值放入XML中,我从NSDrray的NSDrray中得到它。
所以我想知道在NSString类型的键值中是否有一种有效的检查nill或null的方法。
目前这是我的代码看起来像
NSMutableArray *xmlItems = [coreDataController readInstallForXML:selectedInstallID];
for (int i = 0; i < [xmlItems count]; i++) {
NSDictionary *currentXMLItem = [xmlItems objectAtIndex:i];
[xmlWriter writeStartElement:@"Items"];
[xmlWriter writeAttribute:@"insID" value:[currentXMLItem valueForKey:@"insID"]];
// there are about another 20 attributes I have to add here.
}
// then write end elemtent etc.
在上面的代码中我没有添加任何检查,但我希望有人可能对我有所帮助,而不是为每个属性添加一堆IF语句。
任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用[NSDictionary allKeysForObject:]获取'nil'值的所有键,因此您有一个要忽略的键列表。
生成800个项目不一定“太多”或“慢”。您不希望在主线程上执行此操作,因此请确保将其作为后台操作执行。
答案 1 :(得分:0)
使用NSDictionary上的allKeys方法返回一个NSArray键;然后迭代遍历该数组,并为每个键从字典中检索值,并在写出xml元素之前使用一个if语句检查字符串