带有值的TextField被认为是空的?

时间:2012-03-07 12:04:11

标签: objective-c cocoa-touch

有人能告诉我为什么当文本框明显有值时,此语句会验证为YES吗?

  

UITextFieldtext =' dcxcv' clipsToBounds = YES opaque = NO;

if (self.entityName.text != @"") {
        return NO;
    }

2 个答案:

答案 0 :(得分:4)

试试这个:

if ([self.entityName.text isEqualToString:@""] ) {
}

使用:

self.entityName.text != @""

您正在测试指向text属性的指针是否与@""不同,这始终是真的。

答案 1 :(得分:1)

方法是错误的,如果你想比较字符串objective-c为你提供了一个很好的方法来处理这个问题。 而不是使用:

if (self.entityName.text != @"") {
        return NO;
    }

试试这个:

if ([self.entity.text isEqualToString:@""])
{
  return NO;
}

你所做的方法不被objective-c识别,因为它不知道你写的是什么,提到这个@:""它必须知道你正在尝试比较一个字符串。希望这可以帮助你。