我正在目标C中创建一些XML,我知道该怎么做,但是我可能会在XML中输入800多个值,这是从NSDictionaries的NSArray获取的。
所以我想知道是否存在一种有效的方法来检查类型为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
语句更好。 最佳答案
您可以使用[NSDictionary allKeysForObject:]来获取'nil'值的所有键,因此您有一个要忽略的键列表。
生成800个项目不一定“太多”或“缓慢”。无论如何,您都不希望在主线程上执行此操作,因此只需确保将其作为后台操作执行即可。