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数据