如何检测数组是否显示这些结果

时间:2011-08-30 17:49:25

标签: iphone objective-c xcode

如何检测数组是否在if语句中显示以下内容? (我试过NULL而且没用)...

当我NSLog对数组的描述时,这就是返回:

NSLog(@"%@", [manager purDesc]description]);

2011-08-30 13:43:20.227 PROJECT[2921:f503] manager purDesc Dump:(
        {
        amt = "\n      ";
        desc = "\n      ";
    }
)

我需要说“如果[manager purDesc]看起来像那样,请显示UIAlertView”。

对不起大家,我觉得我在今天早上得到我的观点时遇到了麻烦。如果您不明白,请对您的问题发表评论,我会尝试更好地解释。

4 个答案:

答案 0 :(得分:2)

实际上,您的结构似乎是数组中的字典。不确定这一切是如何叠加的。查看字典中的所有项目是否只是空格。

BOOL empty = YES;
NSCharacterSet* wp = [NSCharacterSet whitespaceAndNewlineCharacterSet];
for(NSString* key in dict)
{
    NSString* val = [dict objectForKey: key];
    // trim white space and check length
    if([[val stringByTrimmingCharactersInSet: wp]length])
    {
        empty = NO;
        break;
    }
}

阵列版本留给读者练习。 : - )

答案 1 :(得分:0)

如果这些字段为NSString,您可能需要查看stringByTrimmingCharactersInSet:

NSString* trimmedAmount = [amt stringByTrimmingCharactersInSet:
  [NSCharacterSet whitespaceAndNewlineCharacterSet]];

答案 2 :(得分:0)

您可以使用NSString方法stringByTrimmingCharactersInSet:以及静态集whitespaceAndNewlineCharacterSet删除空格并返回。

但是,根据[purDesc description]的输出,看起来你可能有一个NSDictionary,而不是一个数组。

答案 3 :(得分:0)

为什么不检查数组的实际元素?

之类的东西

[manager objectAtIndex:0] = nil