swift 語法基礎二

  1. ** 定義數組**
    以下是幾種數組初始化的方法

//不可變數組
let array = ["hufan","ni","wo"];

//創建可變數組
var arrayM = Array<String>();
var arrayM = string;

2. **可變數組的基本操作**
**2.1 添加元素**

arrayM.append("hufan");

**2.2移除元素**

//移除某個元素
arrayM.romeveAtIndex(0);

**2.3 修改某個元素**

arrayM[0] = "su";

**2.4 取出某個元素**

arrayM[1];


3. **數組的遍歷**
3.1根據數組的下標遍歷

for i in 0..<arrayM.count
{
print(array[i]);
}

3.2直接遍歷數組中的元素

for name in arrayM
{
print(name);
}

3.3遍歷數組中的前兩個元素

for name in arrayM[0..<2]
{
print(name);
}

3.4 數組的合并

let resultArray = arrayM+array;//相同類型的數組才可以進行合并


_ _ _

###2. 字典
1. **定義字典**
1.1 定義不可變字典let

//系統會自動判斷是鍵值對 還是 元素。
let dict = [“name”:"hufan","age":18,"height":1.88];

1.2 定義可變字典var

var dicM = String : anyObject;

2. **可變字典操作**
2.1 添加元素

//添加一個name叫做 hufan
dicM["name"] = "hufan"
dicM["height"] = 1.8
//字典無序

2.2 刪除元素

dicM.removeValueForKey("height");

2.3 修改元素

//方法類似添加。若有則修改,若無則添加
dicM["name"] = "hufan"

2.4 獲取某個元素

dicM["age"]

3. **遍歷字典**
3.1 遍歷字典中的key

//打印無序
for key in dicM.keys
{
print(key)
}

3.2 遍歷所有的value

for value in dicM.values
{
print(value);
}

3.3 遍歷所有的簡直對

for (key,value) in dicM
{
print(key)
print(value)
}


4. **合并字典**

let dic1= ["name":"why","age":1.88]
let dic2= ["sex":"man","children":1]
//合并方式
for (key,value)in dic2
{
dic1[key]=value;
}


_ _ _

###3. 元組
1. **類似于數組和字典的一種數據結構**
1.1元組的定義

一般是方法的返回值
以下是三種定義的方式

let info = ("name",18,1.88);
info.0//使用下標取出數據,

let info1 = (name:"name",age:18,1.88)
info1.name;//為元組的數據起個名字。可以直接取出

//別名就是元素
let(name,age,height) = ("why",18,1.88)
name //即可取出


###4. 可選類型
1. **可選類型的介紹**

![可選類型簡述.png](http://upload-images.jianshu.io/upload_images/2486695-c8793485ba85cd62.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2. **swift創建類的時候里面所有的屬性都必須有明確的對應的值**
3. **定義可選類型**

定義方式一
不常用
var name :optional<String> = nil;

方式二(語法糖)
var name:String?=nil

4. 給可選類型賦值

name = "hufan"

5. 取出可選類型中的值

可選類型需要強制解包
print(name) //打印結果是 Optional("hufan")
print(name!) //強制解包十分危險。建議在強制解包前先判斷是否為空

if name != nil
{
print(name!)
}

6. 可選綁定

寫法一
//先將name 解包,并且把值賦給tempName
if let tempName = name
{
print(tempName);
}

寫法二.常用寫法
if let name = name
{
print(name);
}

7. **可選類型的應用場景**

let url : NSURL? = NSURL(string:"http://www.baidu.com");

if let url = url
{
let reques = NSURLRequest(URL:url);
}

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

推薦閱讀更多精彩內容