內存分配可能會失敗,但我認爲Swift不處理這種情況。 上github代碼調用非failable初始化Swift:爲什麼init?(長度length:Int)NSMutableData的初始化器failable?
public convenience init?(length: Int) {
let memory = malloc(length)
self.init(bytes: memory, length: length, copy: false) { buffer, amount in
free(buffer)
}
}
編輯: 的代碼是從原生斯威夫特Foundation框架斯威夫特3.未來
有趣的問題。您可以在https://swift.org/community/#mailing-lists上的郵件列表中找到更好的答案。 –
看起來他們只是預留了未來可能性失敗而未事後更改接口。 – Darko