[問題] SwiftUI的Missing argument問題

看板MacDev作者 (SKY)時間2年前 (2022/03/11 21:33), 編輯推噓4(4010)
留言14則, 4人參與, 2年前最新討論串1/1
最近初學SwiftUI,常遇到這個問題,看了一些文章還是不太理解 以我的理解,只要有變數是會在var body: some View當中用到的話, 預設的struct ContentView_Previews就會要求提供變數 舉例: struct ContentView: View { @State var testString: String var body: some View { Text("\(testString)") } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() //Error: Missing argument for parameter 'testString' in call } } 上面ContentView()的地方會出錯 但常常testString或是其他會用到的變數是在跑程式的過程才會決定,簡單的解法就是 硬塞一個變數讓它可以Build,像是ContentView(testString = "") 但是有時候用到的變數比較複雜,也許是一個結構較大的Struct,此時這個解法就 沒用了 想請問ContentView一定需要變數先有值的原因是什麼呢? 也想請問如果變數結構複雜但尚未預先有值的話,該怎麼寫才是比較正確的方式呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.235.248.175 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1647005597.A.C99.html

03/12 14:08, 2年前 , 1F
你的State需要初始狀態,不然code怎麼跑
03/12 14:08, 1F

03/12 14:09, 2年前 , 2F
不然就是初始值用optional type, 設為 nil
03/12 14:09, 2F

03/12 14:32, 2年前 , 3F
誠心希望SwiftUI推不動 害怕進步的老
03/12 14:32, 3F

03/12 14:32, 2年前 , 4F
人只會用UIKit
03/12 14:32, 4F

03/13 00:42, 2年前 , 5F
SwiftUI已經慢慢開始變成未來主領了
03/13 00:42, 5F

03/13 00:42, 2年前 , 6F
,雖然還是需要一段時間完善UIKit才
03/13 00:42, 6F

03/13 00:42, 2年前 , 7F
能做到的事情,但是未來應該是會取代
03/13 00:42, 7F

03/13 00:42, 2年前 , 8F
掉UIkit
03/13 00:42, 8F

03/31 09:20, 2年前 , 9F
對 目前就是UIKit替代元件還不太夠
03/31 09:20, 9F

03/31 09:20, 2年前 , 10F
等全部到齊 通常就是鼓勵整個換掉
03/31 09:20, 10F

03/31 09:21, 2年前 , 11F
畢竟SwiftUI的reactive模式比較進步
03/31 09:21, 11F

03/31 09:22, 2年前 , 12F
而且現在預覽也做的不錯
03/31 09:22, 12F

03/31 09:24, 2年前 , 13F
老人會頭痛 是因為重新學習需要時間
03/31 09:24, 13F

03/31 09:24, 2年前 , 14F
萬一case要求 那個時間壓力更大
03/31 09:24, 14F
文章代碼(AID): #1YAq-ToP (MacDev)
文章代碼(AID): #1YAq-ToP (MacDev)