null检查NSString

时间:2011-12-19 12:25:57

标签: iphone nsstring

我有两个值 null 的字符串。但是当我比较字符串时,我遇到了一些问题:

if([textField.text isEqualToString:str])
{
//Some code
}  

两者都是 null 但是如果条件,控件不会进入 请帮忙。
谢谢,

4 个答案:

答案 0 :(得分:0)

isEqualToString适用于NSString,指针(textField.textstr)为null,不指向对象。允许将消息发送到nil并返回nil。

在第一次检查指针指向有效对象的情况下,在它们的NSString个对象中。

也许:

if((textField.text==nil && str==nil) || [textField.text isEqualToString:str])
{
//Some code
}  

答案 1 :(得分:0)

我不确定你想做什么,

但如果你想在textField为空时做某事,你可以写

if([textField.text isEqualToString:@""])
{
//Some code
} 

答案 2 :(得分:0)

此:

NSString *s1 = nil;
NSString *s2 = nil;

// you can compare two nils
if (s1 == s2)
{
    NSLog(@"==");
}

// s1 is nil so you shouldn't send a message to it
if ([s1 isEqualToString:s2])
{
    NSLog(@"isEqualToString");
}

输出:

2011-12-19 07:33:54.651 Craplet[2845:707] ==

答案 3 :(得分:0)

目前尚不清楚你想做什么。我假设您要检查文本字段是否为空。

当文本字段为空时,可能会分配两个值中的一个。他们可能是@""或者没有。 所以你必须检查两个

if ([@"" isEqualToString: textField.text] || !textField.text) {
        NSLog(@"Text Field is empty");
}