我正在目标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个项目不一定“太多”或“缓慢”。无论如何,您都不希望在主线程上执行此操作,因此只需确保将其作为后台操作执行即可。

09-28 15:14