【问题标题】:Swift 3 updates that cause error导致错误的 Swift 3 更新
【发布时间】:2016-10-14 19:35:30
【问题描述】:

我更新到 swift 3.0,我得到这两个错误,请帮忙。下面有代码和图片

self.blockfinish 出现错误

var blockFinish: ((_ selectedTags: Array<Tag>, _ unSelectedTags: Array<Tag>) -> ())!

func finishTagController() {
    var selected: Array<Tag> = Array()
    var unSelected: Array<Tag> = Array()

    for currentTag in tags {
        if currentTag.isSelected {
            selected.append(currentTag)
        }
        else {
            unSelected.append(currentTag)
        }
    }
    self.dismissViewControllerAnimated(true, completion: { () -> Void in
        self.blockFinish(selectedTags: selected, unSelectedTags: unSelected)
    })
}

这里我在 let ("addTagView.textEdit.text.stringByTrimmingCharactersInSet(spaceSet)") 得到一个错误

func createNewTag() {
    let spaceSet = NSCharacterSet.whitespaces
    let contentTag = addTagView.textEdit.text.stringByTrimmingCharactersInSet(spaceSet)
    if strlen(contentTag) > 0 {
        let newTag = Tag(isSelected: false, isLocked: false, textContent: contentTag)
        tags.insert(newTag, atIndex: tags.count)
        collectionTag.reloadData()            
    }
    cancelEditTag()
}

Error image

【问题讨论】:

  • 欢迎来到 Stackoverflow!在我回答问题后,您编辑了问题以删除您的一个问题,并且我撤消了该更改。不要在回答问题后删除问题,因为重点是帮助其他人了解这些信息。同样对于未来,当错误消息与您所拥有的一样简单时,只需将它们键入或粘贴到实际问题中,而不是粘贴屏幕截图链接。链接可能会消失,该信息将永远消失,更不用说错误将无法搜索。
  • 对不起,我想指出问题,我会改回来
  • Dina 你能帮帮我吗,对不起
  • 你做了什么,如果你修复它或恢复页面,我很困惑。我想知道的只是修复它。你能帮我吗
  • 我撤消了您的编辑,但保留了您添加的属性声明。检查我的更新答案以获取解决方案。

标签: ios iphone swift swift3


【解决方案1】:

字符串修剪方法的签名在 Swift 3.0 中发生了变化。 Here is the new method:

func trimmingCharacters(in set: CharacterSet) -> String

所以而不是:

let contentTag = addTagView.textEdit.text.stringByTrimmingCharactersInSet(spaceSet)

你会这样做:

let contentTag = addTagView.textEdit.text.trimmingCharacters(in: spaceSet)

编辑: blockFinish 在调用点不接受参数名称。

替换:

self.blockFinish(selectedTags: selected, unSelectedTags: unSelected)

与:

self.blockFinish(selected, unSelected)

【讨论】:

  • 另一个错误呢,你能帮我解决一下,blockfinish错误
  • 你说得对,但是块完成错误真的让我很挣扎
  • 你能帮忙吗
  • 您需要提供blockFinish 属性的声明。某些内容不匹配,但如果没有该信息,我们无法告诉您是什么。
猜你喜欢
  • 2018-01-02
  • 2013-06-12
  • 2017-01-15
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 2021-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多