swift自學筆記(一)基礎部分

下面我寫的都是在OC的基礎上整理出來的一些筆記:


1.swift一些基本的屬性

(1)變量和常量的聲明:在swift語言中使用 let 來聲明常量,使用 var 來聲明變量。一個常量的值在編譯時并不需要獲取,但是你只能為它賦值一次。也就是說你可以用常量來表示這樣一個值:你只需要決定一次,但是需 要使用很多次。

常量、變量聲明

(2)類型的標注:聲明變量和常量的時候還可以加上標注,在常量或者變量名后面加上冒號空格,然后加上類型的名稱

類型標注

聲明一個類型為string,名字為welcomeMessage的變量。可以在一行內定義同樣類型的變量用逗號分割,在加冒號和類型值

聲明多個變量

(3)輸出變量和常量:使用print來輸出當前的常量和變量的值:

輸出常量變量

把一個不管什么類型的變量或常量插入到字符串中使用\(變量或常量)的方式來,比如聲明了一個值為“Bonjour”的friendlyWelcome變量:

常量、變量插入字符串

(4)類型安全和類型推斷:類型安全的語言可以清楚的讓你知道代碼要處理的值的類型,如果你的代碼需要一個String你放Int類型的話會報錯。

swift會使用類型推斷來選擇合適的類型,編譯器可以在編譯代碼的時候自動推斷出表達式的類型:

類型推斷

如果表達式中同時出現了正數和浮點型,會被推斷為Double類型

類型推斷

(5)布爾值:布爾值指邏輯上關系,有兩個常量,true、false。一般在if語句時用的較多:

布爾值

2.swift的運算符:運算符跟OC都差不多,這里我就說一下區間運算符:

(1)閉區間預算符:(a...b)定義一個包含a到b(包括a和b)的所有值的區間,b必須大于a:

閉區間運算符

(2)半開區間預算符:(a...b)定義一個包含a到b(包括a不包含b)的所有值的區間,b必須大于a:

半開區間預算符

3.字符串:

(1)要創建一個空的字符串作為初始值,可將空的字符串字面量賦值給變量,也可以初始化一個新的string實例:

字符串初始化

(2)通過for-in來便利字符串中的characters,獲取每一個字符:

字符串和字符

(3)字符串可以通過傳遞一個值類型為Charater的數組作為變量來初始化:

連接Character

(4)字符串的拼接相當簡單:可以直接使用加號:

字符串的拼接

也可以使用+=來拼接:

字符串拼接

(5)字符串插值:插入的字符串字字面量的每一項都以反斜杠為前綴的圓括號中:

字符串插值

(6)字符串的字符的數量:調用count屬性

字符串的count'

(7)字符串的插入和刪除:將字符插入到字符串的指定索引

字符串的插入
字符串的插入

刪除字符串指定索引的字符:

刪除指定字符串

(8)比較字符串:判斷字符串字符是否相等,

判斷字符是否相等

判斷前綴和后綴是否相等

判斷前綴和后綴是否相等

4.數組:數組使用有序列表存儲同一個類型的多個值,相同的值可以多次的出現在數組中:

(1)創建一個空數組:someInts的值類型唄推斷為[Int]

創建一個空數組:

(2)創建一個帶有默認值的數組:count表示元素個數,repeatedValue表示元素的值,是重復的意思:

創建一個帶有默認值的數組

(3)通過兩個數組相加創建一個數組:(必須是相同類型的數組)

兩個數組相加創建數組

(4)字面量構造數組:一系列由逗號分割,方括號包含的同一類型。[value1,value2,value3.。。。]

字面量構造數組

也可以寫成var shoppingList = [“Eggs”,“Milk”]

(5)訪問和修改數組:訪問和修改可以通過下標來實現,count屬性是元素的個數,使用append方法在數組后面添加新的數據項

數組的添加元素

使用+=也是可以的

數組元素的添加

數組元素的改變

數組元素的改變

同時改變數組內的多元素

同時改變數組內的多元素

在某個具體的索引值之前添加數據項

具體索引前添加元素

刪除元素

刪除元素

5.字典:swift中使用Dictionary<key,value>來定義,

(1)創建一個空的字典

創建一個空的字典

(2)字面量創建一個字典

字面量創建一個字典

(3)給字典添加鍵值對

給字典添加鍵值對

(4)字典刪除鍵值對:將key的值設為nil就可以了

刪除鍵值對

用removeValueForKey根據可以刪除:

刪除鍵值對

(5)字典的遍歷:復合類型

復合類型

遍歷Key、Value的屬性

遍歷Key或Value

6.函數:是用來完成特定任務的獨立的代碼模塊,你給函數起一個合適的名字,用來標識函數做什么,并且在函數需要執行的時候,這個名字就會被調用。

(1)函數的定義和調用:定義一個函數時,你可以定義一個名字、類型或者是多個名字、類型,作為函數的輸入參數,再決定是否有返回值,如下例所示;方法名是:sayHellow。參數為:參數名personName、類型是String。返回值:->string類型。

定義函數

函數調用:跟OC的差不多

函數調用

(2)函數參數和返回值:多重輸入參數

多重輸入參數

無返回值函數

無返回值函數

多重返回值函數

多重返回值函數

(3)可變參數

可變參數

? ? 這些是我在自學swift時挑出來的內容,不是很詳細。下一節我會寫swift的各種控件。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,316評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,481評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,241評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,939評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,697評論 6 409
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,182評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,247評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,406評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,933評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,772評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,973評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,516評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,638評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,866評論 1 285
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,644評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,953評論 2 373

推薦閱讀更多精彩內容