如何在创建XML时检查NSDictionary键是否具有有效值

时间:2013-11-16 07:43:21

标签: ios objective-c xml nsarray null

我在目标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语句。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以使用[NSDictionary allKeysForObject:]获取'nil'值的所有键,因此您有一个要忽略的键列表。

生成800个项目不一定“太多”或“慢”。您不希望在主线程上执行此操作,因此请确保将其作为后台操作执行。

答案 1 :(得分:0)

使用NSDictionary上的allKeys方法返回一个NSArray键;然后迭代遍历该数组,并为每个键从字典中检索值,并在写出xml元素之前使用一个if语句检查字符串