在这种情况下,下划线是什么意思?
What does the underscore mean in this case?
迁移到 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]()
的返回结果都被忽略了,而不是赋值给一个变量
返回结果被忽略,但表达式仍在运行时求值:如果它有副作用,就会发生这些影响。
因此,如果您实际上不需要这些说明,则应完全删除它们。
迁移到 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]()
的返回结果都被忽略了,而不是赋值给一个变量
返回结果被忽略,但表达式仍在运行时求值:如果它有副作用,就会发生这些影响。
因此,如果您实际上不需要这些说明,则应完全删除它们。