【发布时间】:2016-08-27 08:57:53
【问题描述】:
我正在尝试验证 iOS 文本框的输入是否仅为数字。
在此块中,我在 XCode 8.0 beta 2 中遇到错误。我该怎么办?
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let numbersOnly = CharacterSet.decimalDigits;
let characterSetFromTextField = CharacterSet(charactersIn: string);
let stringIsValid = numbersOnly.isSuperset(of: characterSetFromTextField);
【问题讨论】:
-
完整的错误信息是什么?
-
您可以使用
let stringIsValid = Int(string) != nil更轻松地检查 -
@Larme 我没有收到错误,但应用程序因未捕获的 NSException 而崩溃。当我试图捕捉它时,XCode 表示没有什么可以捕捉到
try。 -
@vadian 我看了看这个,它似乎对超出整数有效性的数字失败了。
-
@Jublo 通常,当有消息“Uncaught NSException”时,控制台中有更多关于异常的详细信息。
标签: ios xcode nscharacterset