[問題] SwiftUI的Missing argument問題
最近初學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
03/12 14:08, 1F
→
03/12 14:09,
2年前
, 2F
03/12 14:09, 2F
推
03/12 14:32,
2年前
, 3F
03/12 14:32, 3F
→
03/12 14:32,
2年前
, 4F
03/12 14:32, 4F
推
03/13 00:42,
2年前
, 5F
03/13 00:42, 5F
→
03/13 00:42,
2年前
, 6F
03/13 00:42, 6F
→
03/13 00:42,
2年前
, 7F
03/13 00:42, 7F
→
03/13 00:42,
2年前
, 8F
03/13 00:42, 8F
推
03/31 09:20,
2年前
, 9F
03/31 09:20, 9F
→
03/31 09:20,
2年前
, 10F
03/31 09:20, 10F
→
03/31 09:21,
2年前
, 11F
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
03/31 09:24, 14F
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章