检查CharacterSet.isSuperset时未捕获NSException

时间:2016-08-27 08:57:53

标签: ios xcode nscharacterset

我正在尝试验证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);

1 个答案:

答案 0 :(得分:1)

我相信这是Swift 3.0中的一个错误

https://bugs.swift.org/browse/SR-2307

在此期间,您可以迭代字符串中的字符并使用 rangeOfCharacter(from: numbersOnly) 作为一种解决方法或做类似的事情 string.trimmingCharacters(in: numbersOnly).characters.count > 0