Iphone 如何检查我的UILabel值是否高于0?
如何检查我的UILabel值是否高于0?我只需要做一个if语句。我这样做是因为我需要知道数字是不是1,2,3等等,如果是的话,我需要采取某种行动 我尝试了以下代码,但它不起作用,而是显示了一个错误: 如果([[label text]intValue]>0){ }Iphone 如何检查我的UILabel值是否高于0?,iphone,objective-c,ios,xcode,uilabel,Iphone,Objective C,Ios,Xcode,Uilabel,如何检查我的UILabel值是否高于0?我只需要做一个if语句。我这样做是因为我需要知道数字是不是1,2,3等等,如果是的话,我需要采取某种行动 我尝试了以下代码,但它不起作用,而是显示了一个错误: 如果([[label text]intValue]>0){ } EDIT:我发现了另一段代码,这段代码导致这段代码不起作用。上面的代码现在可以完全工作。如果您确定UILabel的文本值是数字,您可以执行以下操作: if ([[myLabel text] intValue] > 0) ...
EDIT:我发现了另一段代码,这段代码导致这段代码不起作用。上面的代码现在可以完全工作。如果您确定UILabel的文本值是数字,您可以执行以下操作:
if ([[myLabel text] intValue] > 0) ...
- (BOOL)valueGreaterThanZero:(UILabel *)label {
NSString *text = [label text];
int value;
[[NSScanner scannerWithString:text] scanInt:&value];
return (value > 0);
}
不过,请注意,这将使用非数字值崩溃
更好的版本,错误处理。。。这假设您希望非数字的值为假:
- (BOOL)valueGreaterThanZero:(UILabel *)label {
NSString *text = [label text];
int value;
BOOL gotNumber = [[NSScanner scannerWithString:text] scanInt:&value];
return (gotNumber && value > 0);
}
然后,要在if语句中使用,根据OP
if ([self valueGreaterThanZero:labelToCheck]) ...
如何调用此函数?出现以下错误:“isEqualToString:(NSString*)”调用有问题,我在代码中没有提供该调用。修复该问题,然后重试我的代码。另外,我可能实现这一点的方法是将UILabel子类化,并将上面的函数添加到子类中。然后(假设“myLabel”是该子类的一个实例),如果([myLabel值大于零])…,则可以执行此操作。当然,要做到这一点,您需要更改函数签名以删除
:(UILabel*)标签部分。因此,最终签名将是-(BOOL)value大于零
。出现此错误:出现此错误:@pixelbitlabs这不是此代码段。在代码中寻找一个地方,在UILabel
的实例上调用IsequalString
;UILabel上没有这样的方法。由于我看不到任何使用isEqualToString且是UILabel的内容,我如何才能找出具体原因…@pixelbitlabs在为UILabel的文本指定新值时也会发生此错误。如果您尝试分配myLabel.text=otherLabel
而不是myLabel.text=otherLabel.text
,则会出现该错误。我已检查,我的代码中没有类似的内容。这真的很奇怪:(
if ([myLabel.text intValue] > 0) {
// do staf
}