我有這個測試類:爲什麼我有一個非可選字段並沒有初始化
class OrderParserTests: XCTestCase {
var previewJson : String!
override func setUp(){
let path = Bundle(for: type(of: self)).path(forResource: "orderDocumentPreviewResponse", ofType: "json") ?? ""
self.previewJson = try! String(contentsOfFile: path)
}
func testStandardOrder(){
...
}
}
previewJson
是String類型的,但我並不需要一個初始化設置它,並將其與默認啓動值爲零,即使它是一個非可選字段(我認爲)。
我誤解了什麼!對領域有用嗎?
是什麼
var previewJson: String?
和
var previewJson: String!
首先看到[這裏](https://stackoverflow.com/questions/37400196/why-optional-constant-does-not-automatically-have-a-default-value-of-nil)then [here]( HTTP://計算器。COM /問題/ 27797351 /類有 - 無初始化 - 斯威夫特/ 40769917#40769917)。他們*間接*幫助你得到更好的選擇圖 – Honey
也見[這裏](https://stackoverflow.com/questions/37493241/swift-string-vs-string-vs-string) – Honey