1.swift基本數據結構
swift
語言類型是很強的。
數組:
var p3 = ["iOS", "Android", "WP", "SB"] // 初始化數組
p3[0] = "ios" // 數組取元素
p3.append("BlackBerry") // 數組添加元素
也可以這樣寫:
var dataArr = NSMutableArray()
字典:
var p4 = [
"name":"歐陽",
"Age":"35",
"Score":"100",
] // 字典是 [] 前面是key,后面是value。注意:我們在js或者php語言中,創建數組或者字典,最后item后面沒有逗號,swift中可以有。
for (key, value) in p4 {
print("key = \(key), value = \(value)")
}
p4["Course"] = "iOS" // 字典追加元素
2.setter and getter
var center: Point {
get {
let x = origin.x + (size.width / 2)
let y = origin.y + (size.height / 2)
return Point(x:x, y:y)
}
set(newCenter) {
origin.x = newCenter.x - size.width / 2
origin.y = newCenter.y - size.height / 2
}
}
3.協議Protocal
swift
中不建議有可選協議,都應該實現。
如果要加可選協議:
// 定義一個協議 協議也有基協議 協議是可以多繼承的
@objc protocol SortProtocal: NSObjectProtocol {
// 協議方法必須實現
func compare(value: Int) -> Bool
// 定義一個可選的協議
@objc optional func beginCompare() -> Bool
}
協議強轉:classA as SortProtocal
4.swift
雙問號(??
)的使用
用法:newValue = optionalValue ?? value
若optionalValue
非nil
時,newValue
的值為optionalValue
的值,若optionalValue
為nil
時,newValue
的值為value
的值
4.bejson.com就如json.cn一樣可以格式化json數據