您的位置:首页 > 移动开发 > Swift

swift--懒加载

2016-05-22 14:06 429 查看
一、swift——懒加载

1、懒加载的格式:

定义变量之前用lazy修饰,后面通过赋值一个闭包

注意点:1、必须用var   2、闭包后面必须要跟上()

如果闭包用于懒加载,那么in之前的代码都有可以删除

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}

//格式:定义变量前面用lazy修饰变量,后面通过等到赋值一个闭包
//注意点:1、必须是用var 2、闭包后必须要跟上()

//如果闭包用于懒加载,那么in之前的代码都可以删除
lazy var dataList:[String] = {
()->[String]
in
print("我被加载了")
return ["zhujia","xiuxiu"]
}()

lazy var data:[String] = {
return ["123","345"]
}()

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
print(dataList)
print(dataList)
print(dataList)
print(data)
}

}


二、get和set方法

person.swift :

import UIKit

class Person: NSObject {

var gender : String?{
//设置完值之后调用
didSet
{
print(gender)
}
}

//如果只重写了get方法,那么这个属性我们称之为 计算型 属性
//也就是对应OC中的只读属性
//注意点:计算型属性不占用内存空间的
var age:Int?{
get{
return 30
}
}
}


viewController.swift:

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

//在swift中如果想使用某一个类,不用#import头文件
//因为swift中新增了一个oc中没有的概念,命名空间
//只要是在同一个命名空间下的资源都是共享的
//默认情况下,项目名称就是命名空间

//正是因为这样,所以在做swift开发时有很多的坑,所以在使用第三方框架的时候,建议使用cocoapods,这样可以有效的避免三方框架中的类名和自己项目中的类名重名
let p = Person()
p.gender = "zhujia"

//        p.age = "99"
print(p.age)
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: