2011-12-21 17 views
-1

我有一个UITextfield,我需要检查输入的值是否在特定的范围内(比如2到10之间)。任何人都可以帮助一个示例代码?检查UITextfiled中的值

我使用此代码

if([[textfieldobject.text stringByTrimmingCharactersInSet: 
         [NSCharacterSet whitespaceCharacterSet]] length] != 0 && 
         [[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] <= 2 && 
         [[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] > 10) 

回答

1

只需将字符串值转换为int,然后检查范围。 intValue将始终返回一个有效的int转换(如果非数字则为零)。请注意,如果有人输入“a10”,结果将为0,在下面的代码中,它将落入范围内。

int convertedValue = [textFieldObject.text intValue]; 
if (convertedValue >= 0 && convertedValue <= 10) { 
    NSLog(@"In range"); 
} else { 
    NSLog(@"Out of range"); 
} 

您可以防止超出范围的字符,因为它们正在被重写UITextFieldDelegate委托类型:

shouldChangeCharactersInRange 

或覆盖该委托并运行你的支票,然后会弹出一个通知,使用户编辑。

textFieldDidEndEditing 
+0

如果([[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]长度]!= 0 ||((玩家> 2)&&(玩家<6))) { 代码... } else { code ... }我给出了这个样子,但它总是进入else部分 – priya 2011-12-21 08:56:02

0

可以使用长度属性用于此。

+0

没有得到答案 – priya 2011-12-21 08:25:56