私は、このテストクラスを持つことができます。はなぜ非オプションのフィールドを持っているといない初期化子
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)を参照してください[ここ] http:// stackoverflow。com/questions/27797351/class-has-no-initializers-swift/40769917#40769917)。彼らは間接的に*あなたがオプションのより良い画像を得るのを助ける – Honey
[こちら](https://stackoverflow.com/questions/37493241/swift-string-vs-string-vs-string)を参照してください – Honey