1.屬性是 對(duì)象的一個(gè)特征
2.swift 沒有全局變量 都是屬性 如果只想在本類 使用 可以使用關(guān)鍵字private修飾
1.類型屬性
class var 聲明的變量 類似全局變量 但是不可賦值 使用類名 調(diào)用
class var 聲明的變量 類似全局變量 但是不可賦值 使用類名 調(diào)用
類型屬性的公式:
class var 變量名:數(shù)據(jù)類型 {return 值}
調(diào)用:類名.變量名
class var name: NSString {return "小明"}
調(diào)用:
print(BB_ImageLabelView.name)
2.觀察屬性:
觀察給屬性賦值的狀態(tài) 是用來監(jiān)測(cè)賦值的狀態(tài)
屬性中 可設(shè)置 willSet didSet 來觀察 屬性的設(shè)置
需要注意的是:該屬性 優(yōu)肯被賦值成nil 惶桐,所以系統(tǒng)提示 需要init ->聲明成可選類型?
swift 中 不存在 給一個(gè)臨時(shí)的全局變量 賦值 所以 不可以使用 _age = 20 要使用 self.age = 20
公式:
var 變量名:數(shù)據(jù)類型?{
willSet{
注意:Set首字母大寫
}
didSet{
檢測(cè)屬性賦值的狀態(tài)
}
}
var age:Int?{
willSet{
print("將要賦值\(age)")
}
didSet{
print("已經(jīng)賦值\(age)")
}
}
let imageLabel = BB_ImageLabelView.init(frame: CGRectZero, image: UIImage.init(named:"聽")!, title: "...")
imageLabel.age = 20
3.實(shí)例屬性
都是使用對(duì)象調(diào)用的
在類中聲明 var 變量名:數(shù)據(jù)類型?
var titleLabel:UILabel?//實(shí)例屬性
懶加載 懶惰屬性 lazy 在使用的時(shí)候 才去創(chuàng)建
懶加載 在創(chuàng)建屬性的時(shí)候 同時(shí)賦值
公式:
lazy var 變量名:數(shù)據(jù)類型 = 值
lazy var list1:NSArray = ["1","2"]
lazy var list:NSArray = NSArray()
計(jì)算屬性 重寫set get
公式:
var 變量名:類型{
get{
自由發(fā)揮
return xx
}
set{
自由發(fā)揮
}
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{
}
}
我了解的只有這些:如果你們有其他的垛叨,希望一起分享牲览。