入門開發的幾個必要條件:一台 Mac , 蘋果帳號 ,以及一個一般人智商的大腦
( 起碼是 512G以上的,128G的感覺只要一更新我裡面的大部分資料就要清空才能
更新,蠻不方便的。 一個APP開發的素材,參考的程式碼以及其他有的沒的大概也
要多個 200g 才勉強夠用,另外也要算到虛擬機的容量。當然外接個硬碟也是個選
擇,只不過讀寫的速度就自然會比較慢一點就是了,這點也要考慮) 當有了 Mac
之後,就直接註冊蘋果帳號, 然後去 Mac App Stroe 下載 X Code 即可,除
此之外,有實際手機以及 iPad 就更方便一點了。
雖然我目前在iOS開發的領域只能算個新手,我感覺我自己學得蠻慢的,我感覺最
有效的方式還是直接做,做中學真的比較有效,我的經驗是這樣,可能也因為我
比較不是那種一看就會的聰明人就是了,寫程式有時候也是蠻靠經驗的,知道甚
麼流程在什麼狀況比較有效,知道一些 Google 不到的訣竅以及方法,一般的也
起碼要會 Google,這些都是透過反覆的開發以及編寫程式累積的經驗,就類似肌
肉記憶或條件反射,然後再自己總結跟內化成一個能夠讓人聽懂的方法或是流程。
有買書或找到學習影片的話,最起碼手也要打一遍,然後用給出的範例程式碼,改
出自己需要的功能。
業餘或課外的時間假如想學的話,還是以某個產出 ( 比賽 , App, 教學文章或是
接的案子之類的)作為目的進行學習會比較有效果,要不然有時候會像我前幾篇文章
一樣流於形式,只求低空飛過,那抽出來努力做這件事的時間可能沒那麼值得了。
let a = 10
var b = 0
let 即宣告常數,類似c中的 static 宣告,在宣告裝入值之後即不能修改常數的
數值, var 即為一般的變數。
-類型標註
像是 var welcomeString: String,就是把變數型態設為 String,其他類似 Int,
Double以及bool也是可以設的。
-元組
宣告的方式類似 let Abt = ("GiGi hadid", 25, 1.79) ,簡單來說就是一個可裝入
不同型態值的複合值,可宣告成常數也可宣告成變數。
var arr = [Int]()
or
var arr : [Int] = []
創建字典的方式如下,另外創建空字典的方式類似於陣列,在做類似 key, value
查找時使用很方便。
var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
-可選型別
簡單來說就是一個避免因nil值產生錯誤的狀況,解包的方法之一就是先確定
值非空值(nil),另一方法就是把值裝入常數中,類似if let a =c {do something; }
-函數(Functions)
func 函式名(參數: 參數類型) -> 返回值型別 {
內部執行的程式
return 要返回的值
}
類似下面這樣
func sumInt(numbers: int...) -> int {
var total: Int = 0
for number in numbers {
total += number
}
return total
}
-閉包(Closures)
總而言之可算是匿名的函數,結構大體如下
{ (參數) -> return 的參數以及型別 in
處理邏輯...
}
閉包的用法可以很多樣,可以使用function當閉包,也可以自己宣告,間單來說,
呼叫閉包就是把該程式碼的片段呼叫過來執行。
func testClosure(printString: String, tCretuenValue: (String) -> Void) {
tCretuenValue(printString)
}
testClosure(printString: "Good Morning", tCretuenValue: {(str: String) in
return print(str)
//輸出 "Good Morning"
})
func g() -> Void {
print(“Good Morning”)
}
func m(closure: () -> Void) {
closure() // call 傳入的 func
}
m(closure: g) // 輸出 "Good Morning"