Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何检查我的UILabel值是否高于0?_Iphone_Objective C_Ios_Xcode_Uilabel - Fatal编程技术网

Iphone 如何检查我的UILabel值是否高于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) ...

如何检查我的UILabel值是否高于0?我只需要做一个if语句。我这样做是因为我需要知道数字是不是1,2,3等等,如果是的话,我需要采取某种行动

我尝试了以下代码,但它不起作用,而是显示了一个错误:

如果([[label 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
}