iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 14
0
Software Development

iOS 從 Objective-c 進化為 Swift 的 30天之旅系列 第 14

[Day 14] Swift For 簡易使用 與 Button Tag呼叫運用

  • 分享至 

  • xImage
  •  

前言

現在在儲存資料了
資料儲存類型為Array
那相當爾會使用For
並且成本的商品名稱
我希望之後是可以改變的
所以使用userdefaults
存取商品名稱陣列
然後使用button tag
下去更改title

For

基本上簡易的for 差異如下

Swift

var numbers = Array(1...10)  //return: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var total = 0
for i in numbers {
    total += i
}

OC

int total = 0;
for (int i=0; i<[numbers count]; i++) {
    total += i
}

Swift看似很簡單
但是這畸形樣也是我第一次看過這種格式
可能是我之前是接觸php
所以這種新式格式差點吐出來
來看看更基本用法如下

var sum = 0
for i in 1…10 {
     sum = sum + i
}

What!? ... 也太奇怪了
i因為Swift會自動填入
所以完全也不知道是什麼格式
不安全感直接大大提升
這裡是int
來看以下程式碼

var productNameList: Array<Any> = []
productNameList .append("小海螺")
productNameList .append("娃娃")
productNameList .append("歐拉")
for i in nameList {
    print("Hello, \(i)!")
}

這裡的i是會印出 小海螺,娃娃,歐拉
並不是int啊
這時候就慌了
尛!那我怎麼知道現在是index幾
經過一番爬文
原來有enumerated

for (intdex , value) in nameList.enumerated() {
    print("Hello, \(intdex)!")
    print("Hello, \(value)!")
}

這樣就可以分出index : 0
與value的值 : 小海螺
有點麻煩啊

原來的Xib
每樣商品button都有使用tag做區別
分別是0~10
但Apple官方文件建議最好
0~100盡量別用?應該是太常使用的吧

let productBtn : UIButton = self.viewWithTag(intdex+1) as! UIButton
productBtn .setTitle(value as! String, for: .normal)

基本上只要使用 self.viewWithTag
就能指定想要tag數字的button做任何更改

以下是暫時設定10項商品

demo


上一篇
[Day 13] Swift Alert 初體驗 && Date 時間簡易使用
下一篇
[Day 15] Swfit GCD 單線程 多線程 簡易使用
系列文
iOS 從 Objective-c 進化為 Swift 的 30天之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言