簡體   English   中英

Swift 3:不再可能使用“+”運算符連接多個字符串

[英]Swift 3: Joining multiple Strings with "+" operator no longer possible

在 swift 2.3 中,我有一段簡單的代碼:

let joinedString = partOne! + PartTwo! + PartThree! + PartFour!

現在,隨着轉換到 swift 3,我一直在用最模糊的解釋猛烈抨擊大約 24 個錯誤。這是其中之一:

同一行代碼給出錯誤:

Ambiguous reference to member '+'

但是,如果我像這樣將它們分開:

let OneAndTwo = partOne! + partTwo!
let ThreeAndFour = partThree! + PartFour!
let joinedString = OneAndTwo + ThreeAndFour

這有效......他們是否刪除了像這樣鏈接多個字符串還是有問題? 似乎編譯器認為“+”是一個變量或其他名稱相同的東西?

編輯:

即使這是另一個錯誤,這似乎與以下內容有關: This Question

一旦超過 2 個可選字符串,也會崩潰。 我想可選綁定是當時要走的路。 似乎這個錯誤已經存在很長時間了。

這似乎是一個錯誤,我將進一步調查。 如果我們模擬! 與另一個運營商它工作得很好:

postfix operator |! {}
postfix func |! <T>(rhs: T?) -> T {
    return rhs!
}

let s1: String? = "Hello"
let s2: String? = " "
let s3: String? = "World"
let joined = s1|! + s2|! + s3|! // "Hello World"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM