私はios開発に不慣れです。計算用の単純なアプリケーションを作成しようとしています。そのため、テキストボックスに慣れていて、これらの数値のみを許可したいと考えています。私はすでにキーボードのプロパティを数値パッドに設定しています。今、私は文字列のチェックから次の関数が数値のみを含むことを見つけたので、プログラムでそれをしたい
+(BOOL) checkforNumeric:(NSString*) str
{
NSString *strMatchstring=@"\\b([0-9%_.+\\-]+)\\b";
NSPredicate *textpredicate=[NSPredicate predicateWithFormat:@"SELF MATCHES %@", strMatchstring];
if(![textpredicate evaluateWithObject:str])
{
//////NSLog(@"Invalid email address found");
UIAlertView *objAlert = [[UIAlertView alloc] initWithTitle:APP_NAME message:@"please enter valid text." delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Close",nil];
[objAlert show];
[objAlert release];
return FALSE;
}
return TRUE;
}
ボタンのクリックで呼び出したいのですが、いくつかの方法を試しましたが、常にエラーが表示されます。ボタンのクリックでこの機能を利用する方法を教えてください。
ボタンの私の実際のコードは次のとおりです。
-(IBAction)button{
if (firstValue.text.length>0 && secondvalue.text.length>0) {
label.text= [ [NSString alloc] initWithFormat:@"Result is: %.2f", ([firstValue.text floatValue]) * ([secondvalue.text floatValue])];
}
else if (firstValue.text.length==0 && secondvalue.text.length==0){
//label.text= @"please enter the values.";
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"Please Enetr First Value and second value." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
[alert release];
}else if (firstValue.text.length==0) {
//label.text= @"please enter the first values.";
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Please Enter First Value" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
[alert release];
}else if (secondvalue.text.length==0) {
//label.text= @"please enter the second values.";
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Please Eneter Second Value" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
[alert release];
}
}
私を助けてください。
これについては、次の方法を試しました。
BOOL *test= checkforNumeric(firstValue.text);