【问题标题】:how do I properly express this 'rangeOfCharacter' statement using swift 3?如何使用 swift 3 正确表达此“rangeOfCharacter”语句?
【发布时间】:2016-07-28 20:44:47
【问题描述】:

我有一些逻辑允许我从我创建的字符集中收听对无效字符的文本字段的编辑,显然是在 swift 3 语法中重新排列,我收到以下错误:

Cannot invoke initializer for type 'Range<Index>' with an argument list of type '(DefaultBidirectionalIndices<String.CharacterView>)

在这行代码上:

 if let _ = string.rangeOfCharacter(from: invalidCharacters, options: [], range:Range<String.Index>(string.characters.indices))

我查看了新的 API 文档,但似乎在 swift 3 中找不到此行的正确格式...有什么建议吗?

【问题讨论】:

    标签: ios swift xcode range swift3


    【解决方案1】:

    您只需要使用..&lt; 运算符来创建您的范围。注意:如果要检查整个字符串,可以省略选项和范围参数。

    if let _ = string.rangeOfCharacter(from: invalidCharacters, options: [], range: string.startIndex..<string.endIndex) {
    
    }
    

    或者简单地说:

    if let _ = string.rangeOfCharacter(from: invalidCharacters) {
    
    }
    

    【讨论】:

    • 哈哈,我认为它就是这么简单,在新更新中删除冗余并精简语法.. gracias!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 2021-06-12
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    相关资源
    最近更新 更多