为什么我的代码在我的string中找不到数字?

我想检查,如果我的string包含数字。 为此我尝试:

if resultTitles[indexPath.row].rangeOfCharacterFromSet(badCharacters) == nil { let badCharacters = NSCharacterSet.decimalDigitCharacterSet().invertedSet print("Index: \(indexPath.row)") } 

它的工作,但现在没有。 真奇怪 这里有什么问题?

if语句行或下一行中是否显示错误? 这个错误很可能是由于在if语句中使用它声明了badCharacters,并且因为如果它已经存在,就不能进行变异。

尝试这个:

 if resultTitles[indexPath.row].rangeOfCharacter(from: NSCharacterSet.decimalDigits.inverted) == nil { print("Index: \(indexPath.row)") } 

检查一个string是否只包含数字的替代解决scheme:

  CharacterSet.decimalDigits.isSuperset(of: CharacterSet(charactersIn: yourString))