Swift入门基础

Swift入门基础

  • 常量&变量
    1.var 定义变量,设置之后可以修改
    2.let 定义常量,设置之后不可以修改
    3.语句末尾不用使用 ;
    4.在 Swift 中使用 print() 替代 OC 中的 NSLog
// 定义变量
var i = 10
print(i)
i = 15
print(i)

let j = 20
// 常量一经定义不能自改数值
print(j)
  • 定义 OC 对象
    1.在 Swift 中要实例化一个对象可以使用 类名() 的格式,与 OC 中的 alloc/init 等价
    2.当前对象的属性,不需要使用 self.
// 实例化视图
let v = UIView()
// 设置背景颜色
v.backgroundColor = UIColor.redColor()

// 添加到根视图
view.addSubview(v)
  • if语句
    1.Swift 中没有 C 语言中的非零即真概念
    2.在逻辑判断时必须显示地指明具体的判断条件
    3.if 语句条件的 () 可以省略,但是 {} 不能省略
let i = 10

if i > 0 {
    print("OK")
}
  • 数组

1 数组使用 [] 定义,这一点与 OC 相同
2 如果初始化时,所有内容类型一致,择数组中保存的是该类型的内容
3 如果初始化时,所有内容类型不一致,择数组中保存的是 NSObject

// 数组中保存的都是字符串
let arr = ["zhangsan", "lisi"]

// 数组中保存的是 NSObject
let arr1 = ["zhangsan", 1]

4.定义特定类型的数组

// 定义只能保存字符串类型数组
var array: [String]
  • 字典
/// 定义并实例化字典 String:可以是字符串类型 AnyObject 相当于OC的id类型
var dict = [String: AnyObject]()

dict["name"] = "zhangsan"
dict["age"] = 18

print(dict)

// 设置相同 key,之前的数值会被覆盖
dict["name"] = "lisi"
print(dict)

// 删除某一个 key
dict.removeValueForKey("age")
print(dict)

dict["title"] = "manager"
print(dict)

// 遍历字典(k, v可以随便写)
for (k, v) in dict {
    print("\(k) -- \(v)")
}

// 合并字典
var dict2 = ["name": "wangwu", "age": 80, "title": "boss"]
for (k, v) in dict2 {
    dict.updateValue(v, forKey: k)
}
print(dict)
  • 字符换
    1.NSString 是一个 OC 对象,性能略差
    2.String 是一个结构体,性能更高
    3.字符串拼接 +
//初始化一个字符串
let str1 = "zhangsan"
let str2 = "lisi"
//str1 + str2拼接字符串
print(str1 + str2)

4.格式化字符串

//for循环
for _ in 0...10 {
    let str = String(format: "zhangsan - %04d", arguments: [arc4random_uniform(100)])
    print(str)
}
  • 函数
    函数定义格式:func 函数名(参数: 参数类型…) -> 返回值 { // 代码实现 }
    1.如果没有返回值, -> 返回值 可以省略
    2.-> 是一个很有意思的符号
    3.默认情况下,在调用函数时,第一个参数名是省略的
//有返回值(int)的函数
func sum(a: Int, b: Int) -> Int {
    return a + b
}
//没有返回值的函数
func sum1(x a: Int, y b: Int){
  print("%d",a+b)
}
//不带参数和返回值的函数
func prints(){
  print("ok")
}
  • 闭包
    1.闭包定义
    2.闭包简化 - 尾随闭包
    3.闭包参数
    4.闭包返回值
    5.闭包的循环引用
weak var weakSelf = self
demo("zhangsan") { (_) -> Int in
    print(weakSelf?.view.backgroundColor)

    return 20
}
  • 懒加载
    注意:苹果很推崇使用懒加载方式创建对象,不论是oc还是Swift
    定义格式:lazy var 变量: 类型 = { 创建变量代码 }()
lazy var demoView: UIView = {

    let v = UIView(frame: CGRectMake(10, 10, 100, 100))
    v.backgroundColor = UIColor.redColor()

    return v
}()
  • 着重声明一下
    常量&变量的使用原则:尽量先用 let,只有需要变的时候,再用 var,能够更加安全

猜你喜欢

转载自blog.csdn.net/qq_33432683/article/details/52728767