Swift开发技巧首页投稿(暂停使用,暂停投稿)

Swift之学习属性

2016-04-06  本文已影响105人  闯先生的猫

1.属性是 对象的一个特征

2.swift 没有全局变量 都是属性 如果只想在本类 使用 可以使用关键字private修饰

1.类型属性
class var 声明的变量 类似全局变量 但是不可赋值 使用类名 调用
class var 声明的变量 类似全局变量 但是不可赋值 使用类名 调用
类型属性的公式:
class var 变量名:数据类型 {return 值}
调用:类名.变量名

 class var name: NSString {return "小明"}
调用:
 print(BB_ImageLabelView.name)

2.观察属性:
观察给属性赋值的状态 是用来监测赋值的状态
属性中 可设置 willSet didSet 来观察 属性的设置
需要注意的是:该属性 优肯被赋值成nil ,所以系统提示 需要init ->声明成可选类型?
swift 中 不存在 给一个临时的全局变量 赋值 所以 不可以使用 _age = 20 要使用 self.age = 20

公式:
var 变量名:数据类型?{
willSet{
注意:Set首字母大写
}
didSet{
检测属性赋值的状态
}

}

var age:Int?{
        willSet{
            print("将要赋值\(age)")
        }
        didSet{
            print("已经赋值\(age)")
        }
    }

let imageLabel = BB_ImageLabelView.init(frame: CGRectZero, image: UIImage.init(named:"听")!, title: "...")
        imageLabel.age = 20

3.实例属性
都是使用对象调用的
在类中声明 var 变量名:数据类型?

 var titleLabel:UILabel?//实例属性

懒加载 懒惰属性 lazy 在使用的时候 才去创建
懒加载 在创建属性的时候 同时赋值
公式:
lazy var 变量名:数据类型 = 值

lazy var list1:NSArray = ["1","2"]
    lazy var list:NSArray = NSArray()

计算属性 重写set get
公式:
var 变量名:类型{
get{
自由发挥
return xx
}
set{
自由发挥
}

OC的set方法

-(void)setName:(NSString *)name{
_name = name;
_name = [NSString stringWithFormat:@"",name];
self.view.backgroundColor = [UIColor redColor];
get方法:
-(NSString *)name{
NSLog(@"....00");
 var mmm:Int{
        get{
            return 1
        }
        set{
            
        }
    }

我了解的只有这些:如果你们有其他的,希望一起分享。

上一篇 下一篇

猜你喜欢

热点阅读