我的代码迁移到Swift 2.0之前:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "RhymeFavoriten") {
// pass data to next view
let dest = segue.destinationViewController as! FavoritenViewController
let source = segue.sourceViewController as! RhymeViewController // !!!!!!
dest.favoritenType = 1
dest.delegate = self
}
}
迁移告诉我将其更改为
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "RhymeFavoriten") {
// pass data to next view
let dest = segue.destinationViewController as! FavoritenViewController
_ = segue.sourceViewController as! RhymeViewController // !!!!!!!!!!
dest.favoritenType = 1
dest.delegate = self
}
要么
func textSelected(selectedText:String, selectedType:Int) {
var fullTextArr = text.componentsSeparatedByString("\n")
var myArray = [String]() // !!!!!!
至
func textSelected(selectedText:String, selectedType:Int) {
var fullTextArr = text.componentsSeparatedByString("\n")
_ = [String]() // !!!!!!!!!
我看不出来,_ =代表什么:-(
_
是一个占位符。这意味着分配给的值将_
被忽略。
Xcode的迁移工具进行了此更改,因为它检测到您未使用source
或未使用myArray
任何工具,因此用占位符替换了这些变量。
现在,没有分配给变量,而是忽略的返回结果segue.sourceViewController as! RhymeViewController
和的返回结果[String]()
。
返回的结果将被忽略,但表达式仍会在运行时求值:如果它具有副作用,则会发生这些影响。
因此,如果您实际上不需要这些说明,则应该完全摆脱它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句