2

我有一个 XML WebService(并且没有机会改变它)元素可以是空的,但我看不到使用 KissXML 的明显方法。

<thing>false</thing>如果是,有没有办法防止应用程序崩溃<thing/>

我正在使用这段代码:

if ([[element elementsForName:@"thing"] count] > 0) {
    id obj = [[element elementsForName:@"thing"] objectAtIndex:0];
    if (obj) self.thing = [obj boolValue];
}
4

1 回答 1

2

始终检查这些对象,尤其是因为 xml 来自应用程序外部并且可能具有不可预测的格式。你在打电话objectAtIndex:,但你不知道有多少对象。

if ([[element elementsForName:@"thing"] count] > 0) {

   NSArray *elements = [element elementsForName:@"thing"];

   id obj = [elements objectAtIndex:0];

   NSString *stringValue = [obj stringValue];

   BOOL boolValue = FALSE;

   if(stringValue) {
     boolValue = [stringValue boolValue];
   }
   self.thing = boolValue;
}
于 2013-05-24T14:27:40.183 回答