可能重复:
How can I check if a UILabel's value is more than 0 in an if statement?
为什么以下代码不起作用?
if([Period2 isEqualToString:@"PSHEEC"])
{
NSLog(@"TEST");
}
我收到此错误:
2011-12-02 08:45:52.579 iDHSB [7605:707] - [UILabel isEqualToString:]: 无法识别的选择器发送到实例0x4884c50 2011-12-02 08:45:52.581 iDHSB [7605:707] *由于未被捕获而终止应用程序 异常'NSInvalidArgumentException',原因:' - [UILabel isEqualToString:]:无法识别的选择器发送到实例0x4884c50' * 第一次抛出调用堆栈:(0x323e28bf 0x35cfa1e5 0x323e5acb 0x323e4945 0x3233f680 0x3152b191 0x9c905 0x316cf871 0x323e5814 0x323407e1 0x323403ff 0x34767e5b 0x323e4ab3 0x3233f680 0x323e5814 0x323407e1 0x33dcb43d 0x33dde8dd 0x323b6b03 0x323b62cf 0x323b5075 0x323384d5 0x3233839d 0x378b7439 0x315558e1 0x2d77 0x27c0)终止 调用抛出异常[切换到进程7171线程0x1c03] (GDB)
答案 0 :(得分:2)
您获得的错误可能是由于内存管理问题,Period2
的指针不再指向您的字符串,现在指向某个标签。确保你已正确保留它。
另一方面,变量,属性,方法不应以大写字母开头,如果标签是属性,则应使用self.period2
。
答案 1 :(得分:1)
如果期间2是您的标签使用...
[period2.text isEqualToString:@"PSHEEC"]
答案 2 :(得分:0)
可能会有所帮助
NSString *str = label.text;
if([str isEqualToString:@"PSHEEC"])
{
NSLog(@"Equal");
}
else
{
NSLog(@"Not Equal");
}
答案 3 :(得分:0)
什么是Period2?你不能用那种方式测试等价。如果要测试字符串等效性,则需要执行以下操作:
(假设Period2是NSString)
if ([Period2 isEqualToString:@"PSHEEC]) {
NSLog(@"They are equal.");
}