在这种情况下,下划线是什么意思?

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 的迁移工具进行了此更改,因为它检测到您没有在任何地方使用 sourcemyArray,因此将这些变量替换为占位符。

现在segue.sourceViewController as! RhymeViewController的返回结果和[String]()的返回结果都被忽略了,而不是赋值给一个变量

返回结果被忽略,但表达式仍在运行时求值:如果它有副作用,就会发生这些影响。

因此,如果您实际上不需要这些说明,则应完全删除它们。