- ** 定义数组**
以下是几种数组初始化的方法
//不可变数组
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. **可选类型的介绍**

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);
}