如果用户忘记填写用户名标签,或者从PickerView中选择选项,我正在尝试显示“错误”消息,我正在这些行中工作(“ - 选择一个选项请 - “),但是,当我运行它时,它也会将选择器视图中的其他选项视为错误。
如果用户选择A,B,C,D则没关系。我只想定义第一个(“ - 请选择一个选项 - ”)作为错误,但它不起作用。
类ViewController:UIViewController,UIPickerViewDataSource,UIPickerViewDelegate {
public class Factorial {
public static void main(String[] args) {
Scanner in = new Scanner(System. in );
System.out.println("Enter the number whose factorial you want: ");
int n = in .nextInt();
int f = 1;
for (int i = n; i > 0; i--) //error show what's wrong in for loop {
f = f * i;
}
System.out.println("Factorial of " + n + " is " + f);
}
}
我该如何改进? 提前谢谢!
答案 0 :(得分:0)
你可以随时确保你的“ - 请选择一个选项 - ”字符串作为第一项。因此,您只需测试 UIPickerView selectedRowInComponent 方法所需组件的值是否大于“0”。 如果从此方法返回“0”,则表示您选择了第一个位置,但如果您收到“ - 1”,则您的选择器中未选择任何值。任何大于“0”的值都可以考虑作为有效值。
selectedRowInComponent(_ component:Int)
@IBAction func continueButton(sender: AnyObject) {
//If you
if usernameLabel.text == "" || myPickerView.selectedRowInComponent(0) < 1 {
let alert = UIAlertController(title: "Error in form", message: "Please fill the information", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Okay", style: .Default, handler: { (action) -> Void in
self.dismissViewControllerAnimated(true, completion: nil)
}))
self.presentViewController(alert, animated: true, completion: nil)
}
}