抱歉举了这个毫无意义的例子。试图简化它,仍然不明白\xe2\x80\x99s发生了什么。以下给了我Variable \'self.greeting\' used before being initialized:
struct MyView: View {\n @State var greeting: String\n var length = Measurement<UnitLength>(value: 5, unit: UnitLength.miles)\n init() {\n greeting = "Hello, World!" // Variable \'self.greeting\' used before being initialized\n }\n var body: some View {\n Text(greeting)\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n虽然这工作正常(var length不同;否则相同):
struct MyView: View {\n @State var greeting: String\n var length = 5 // now Int\n init() {\n greeting = "Hello, World!"\n }\n var body: some View {\n Text(greeting)\n }\n}\n …Run Code Online (Sandbox Code Playgroud)