iT邦幫忙

2021 iThome 鐵人賽

DAY 29
0
Mobile Development

程式初學就來點swift吧!教你掌握整個蘋果生態圈!系列 第 29

Day 29 - ios 開發實作 (今天還要繼續吃嗎APP-3)

今天會使用到foreach,所以開頭我們先來學一下要怎麼使用Foreach。

Foreach

什麼時候會用到Foreach呢? 當我們有一個UI是這樣子按照排列下去的。這樣就會自動幫你建立Text方塊排列下去。

舉個例子,我有這樣一個程式 裡面包含添加今日成績,當我輸入一個成績,就存在Array裡,Array每多一個數值,在我的secondView裡的list就多一個Text方塊(顯示今輸入過的成績,一個個顯示下來)。這個時候就可以使用foreach。

其實foreach不會到很困難,接下來我們就教學如何使用foreach。

ForEach (1..<input.summ.count){ i in
    Text(String(input.summ[i]))
}

這邊ForEach的概念基本就跟for迴圈的概念一樣,只不過我們用在UI上面而已。

我們搭配昨天的講解程式碼,input.summ.count(食物類別),.count就是代表Array裡有幾個數值。所以for迴圈就代表1到Array裡幾個數值。接著他就會自動依序列出來。

接著我們可以在外面包一圈list。這樣看起來稍微美觀一點。

list{
		ForEach (1..<input.summ.count){ i in
		    Text(String(input.summ[i]))
		}
}

繼續開發APP

接下來我們繼續開發為開發完成的APP

struct b1: View {
    @EnvironmentObject var input: UserInput
    var body: some View {
        List{
            ForEach (1..<input.summ.count){ i in
                Text(input.summ[i] + " 熱量:"+String(input.sum[1]))
            }
        }
    }
}

這邊b1我們可以寫成這樣,加上熱量、類型,這樣我們就差不多完成了!

淺談Storyboard vs SwiftUI

我在學Apple的前端時,我就知道有舊的Storyboard,以及新的SwiftUI。當時無腦選擇SwiftUI沒有什麼特別的原因,就只是因為他是新的。

那你問我有沒有後悔?我的答案是,也不是。

因為其實我現在是後悔的,開發支援少,對比Storyboard,SwiftUI可以直接用的套件還很少,相對來說SwiftUI的開發時間就會更多了。

再來就是SwiftUI只支援ios 13以上,所以iPhone 6以下的用戶,你將會直接放棄他們。

那不後悔的原因很簡單,反正遲早都會換代,先學的Programmer有蟲吃xd。


上一篇
Day 28 - ios 開發實作 (今天還要繼續吃嗎APP-2)
下一篇
Day 30 - 課程統整&心得
系列文
程式初學就來點swift吧!教你掌握整個蘋果生態圈!30

尚未有邦友留言

立即登入留言