[英]Swift 3 updates that cause error
我更新到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()
}
在Swift 3.0中,字符串修剪方法的签名已更改。 这是新方法:
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.