如何檢查我的UILabel值是否大於0?我只需要做一個if語句。我這樣做是因爲我需要找出數字是1,2,3等,如果是,我需要調用某個動作。如何檢查我的UILabel值是否大於0?
我曾嘗試以下的代碼,但它不工作,而是示出了一個錯誤:
如果([[標籤文本]的intValue]> 0){
}
編輯:我發現另一個代碼,這是挑釁這不工作。上面的代碼現在完全有效。
如何檢查我的UILabel值是否大於0?我只需要做一個if語句。我這樣做是因爲我需要找出數字是1,2,3等,如果是,我需要調用某個動作。如何檢查我的UILabel值是否大於0?
我曾嘗試以下的代碼,但它不工作,而是示出了一個錯誤:
如果([[標籤文本]的intValue]> 0){
}
編輯:我發現另一個代碼,這是挑釁這不工作。上面的代碼現在完全有效。
if ([[myLabel text] intValue] > 0) ...
如果您確定的UILabel的文本值是數字,你可能只是這樣做:
- (BOOL)valueGreaterThanZero:(UILabel *)label {
NSString *text = [label text];
int value;
[[NSScanner scannerWithString:text] scanInt:&value];
return (value > 0);
}
要小心,雖然,這將與非數字值的碰撞。
更好的版本,錯誤處理......這是假定你要非NUMERICS假值:
- (BOOL)valueGreaterThanZero:(UILabel *)label {
NSString *text = [label text];
int value;
BOOL gotNumber = [[NSScanner scannerWithString:text] scanInt:&value];
return (gotNumber && value > 0);
}
然後,如果語句在使用,按OP,
if ([self valueGreaterThanZero:labelToCheck]) ...
我怎樣才能調用這個函數? – pixelbitlabs
出現這個錯誤:http://pastie.org/2956098 – pixelbitlabs
你有一個'isEqualToString:(NSString *)'調用,我沒有在我的代碼中提供,修復後再次嘗試我的代碼。另外,我可能會實現這個的方式是子類UILabel並將上面的函數添加到子類。然後(假設'myLabel'是該子類的一個實例),你可以這樣做:if([myLabel valueGreaterThanZero])...'當然,要做到這一點,你需要改變函數簽名來刪除':(UILabel *)標籤'端口離子。所以,最後的簽名是' - (BOOL)valueGreaterThanZero'。 – mbm29414
if ([myLabel.text intValue] > 0) {
// do staf
}
出現此錯誤:http://pastie.org/2956098 – pixelbitlabs
請發佈您的代碼。 – taskinoor
出現此錯誤:http://pastie.org/2956098 – pixelbitlabs
@pixelbitlabs這不是從這段代碼。在你的代碼中尋找一個你在'UILabel'實例上調用'isEqualToString'的地方; UILabel上沒有這種方法。 – dasblinkenlight
我怎麼才能找出究竟是什麼導致它,因爲我不能看到任何使用isEqualToString,並且是一個UILabel ... – pixelbitlabs