20170612基礎(chǔ)知識-屬性鳖擒、下標、方法

1烫止、Swift中蒋荚,屬性分為存儲屬性、計算屬性馆蠕。

存儲屬性:存儲數(shù)據(jù)期升,常量屬性let惊奇,變量屬性var,適用于類和結(jié)構(gòu)體播赁,枚舉不能用

計算屬性:本身不存儲數(shù)據(jù)颂郎,而是從其他存儲屬性中計算得到數(shù)據(jù),類容为、結(jié)構(gòu)體乓序、枚舉都能用

2、延時加載坎背,類中的某一個屬性替劈,前面加了lazy,這樣屬性只有在第一次訪問的時候得滤,才會加載陨献,如果永遠不訪問,那么就不會創(chuàng)建懂更,可以減少內(nèi)存的占用

3眨业、計算屬性語法:

面向?qū)ο箢愋停悺⒚杜e膜蛔、結(jié)構(gòu)體) 類型名 {

存儲屬性(var let)

var 計算屬性名:數(shù)據(jù)類型 {

get {

return 計算后屬性值

}

set(新屬性值) {

...

}

}

}

計算屬性坛猪,必須用var聲明,變量

取出屬性:print(類型名.計算屬性名) ?Getter訪問器

屬性賦值:類型名.計算屬性名 = 要賦的值 ?Setter訪問器

4皂股、只讀計算屬性墅茉,只有g(shù)et,沒有set

var 計算屬性名:數(shù)據(jù)類型 { return 計算后屬性值 }呜呐,省略了get

5就斤、枚舉用計算屬性是,必須將實例值轉(zhuǎn)化為原始值蘑辑,self.rawValue洋机,否則不能進行字符串拼接

self:類、結(jié)構(gòu)體洋魂、枚舉中绷旗,表示當前實例,訪問自身的實例方法和屬性

6副砍、屬性觀察者衔肢,監(jiān)聽存儲屬性的變化,變量存儲屬性豁翎,不能監(jiān)聽延遲存儲屬性角骤、常量存儲屬性

willSet:修改之前調(diào)用

didSet:修改之后立刻調(diào)用

面向?qū)ο箢愋停悺⒔Y(jié)構(gòu)體) 類型名 {

var 存儲屬性:屬性數(shù)據(jù)類型 = 初始化值 {

willSet(新值){

}

didSet(舊值){

}

}

}

新值:傳遞給willSet觀察者的參數(shù)心剥,保存了將要替換原來屬性的新值邦尊,參數(shù)的聲明可以省略背桐,系統(tǒng)會分配一個默認的參數(shù)newValue

舊值:傳遞給didSet觀察者的參數(shù),保存了被新屬性替換的舊值蝉揍,參數(shù)聲明可以省略链峭,系統(tǒng)會分配一個默認的參數(shù)oldValue

7、靜態(tài)屬性

實例屬性:屬性與實例個體有關(guān)疑苫;靜態(tài)屬性(類型屬性):屬性與實例個體誤關(guān)熏版,是所有個體實例共享的屬性

struct 結(jié)構(gòu)體名 {

static var(let) 存儲屬性 =?“”

static var 計算屬性名: 屬性數(shù)據(jù)類型{

get、set

}

}

enum 枚舉名 {

static var(let) 存儲屬性 =?“”

static var 計算屬性名: 屬性數(shù)據(jù)類型{

get捍掺、set

}

}

class 類名 {

static var(let) 存儲屬性 =?“”

class(static) var 計算屬性名: 屬性數(shù)據(jù)類型{

get撼短、set

}

}

類靜態(tài)計算屬性,static定義挺勿,則不能在子類中被重寫曲横;class定義,可以被子類重寫

類型

實例存儲屬性

靜態(tài)存儲屬性

實例計算屬性

靜態(tài)計算屬性

支持

支持

支持

支持

結(jié)構(gòu)體

支持

支持

支持

支持

枚舉

不支持

支持

支持

支持

類型名.靜態(tài)屬性:訪問靜態(tài)屬性不瓶;實例.實例屬性:訪問實例屬性

8禾嫉、下標

數(shù)組的下標,是正數(shù)類型的索引蚊丐,從0開始

字典的下標熙参,是它的“鍵”

面向?qū)ο箢愋停悺⒔Y(jié)構(gòu)體麦备、枚舉) 類型名 {

subscript(參數(shù):參數(shù)數(shù)據(jù)類型) -> 返回值數(shù)據(jù)類型 {

get孽椰、set

}

}

9、二維數(shù)組

structDoubleDimensionalArray {

letrows:Int, columns:Int

vargrid: [Int]

init(rows:Int, columns:Int) {

self.rows= rows

self.columns= columns

grid=Array(repeating:0, count: rows * columns)

}

subscript(row:Int, col:Int) ->Int{

get{

returngrid[(row *columns) + col]

}

set(newValue1) {

grid[(row *columns) + col] = newValue1

}

}

}

letCOL_NUM =10

letROW_NUM =10

varary2 =DoubleDimensionalArray(rows:ROW_NUM, columns:COL_NUM)

foriin0..

forjin0..

ary2[i,j]= i * j

}

}

foriin0..

forjin0..

print("\t\(ary2[i,j])", terminator:"")

}

print("\n")

}

10凛篙、方法

方法是在枚舉黍匾、結(jié)構(gòu)體、類中定義的函數(shù)呛梆,分為實例方法锐涯、靜態(tài)方法

可變方法:結(jié)構(gòu)體和枚舉中的方法,默認情況下填物,不能修改值類型變量屬性

mutating func (){} ?關(guān)鍵字mutating纹腌,將方法聲明為可變方法,能夠修改變量屬性滞磺,不能修改常量屬性

靜態(tài)方法壶笼,類靜態(tài)方法,static定義雁刷,則不能在子類中被重寫;class定義保礼,可以被子類重寫

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沛励,一起剝皮案震驚了整個濱河市责语,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌目派,老刑警劉巖坤候,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異企蹭,居然都是意外死亡白筹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門谅摄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來徒河,“玉大人,你說我怎么就攤上這事送漠⊥缯眨” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵闽寡,是天一觀的道長代兵。 經(jīng)常有香客問我,道長爷狈,這世上最難降的妖魔是什么植影? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮涎永,結(jié)果婚禮上思币,老公的妹妹穿的比我還像新娘。我一直安慰自己土辩,他們只是感情好支救,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拷淘,像睡著了一般各墨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上启涯,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天贬堵,我揣著相機與錄音,去河邊找鬼结洼。 笑死黎做,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的松忍。 我是一名探鬼主播蒸殿,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了宏所?” 一聲冷哼從身側(cè)響起酥艳,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎爬骤,沒想到半個月后充石,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡霞玄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年骤铃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坷剧。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡惰爬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出听隐,到底是詐尸還是另有隱情补鼻,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布雅任,位于F島的核電站风范,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏沪么。R本人自食惡果不足惜硼婿,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望禽车。 院中可真熱鬧寇漫,春花似錦、人聲如沸殉摔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逸月。三九已至栓撞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碗硬,已是汗流浹背瓤湘。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恩尾,地道東北人弛说。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像翰意,于是被迫代替她去往敵國和親木人。 傳聞我的和親對象是個殘疾皇子信柿,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,776評論 1 10
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)醒第,斷路器角塑,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • 1、范型范型所解決的問題 函數(shù)淘讥、方法、類型:類堤如,結(jié)構(gòu)體蒲列,枚舉,元組類型搀罢,協(xié)議參數(shù)蝗岖,返回值,成員函數(shù)參數(shù)榔至,成員屬性類...
    我是小胡胡分胡閱讀 816評論 0 1
  • 類和結(jié)構(gòu)體 1.Swift中類和結(jié)構(gòu)體有很多共同點: 定義屬性用于存儲值 定義方法用于提供功能 定義附屬腳本用于訪...
    cht005288閱讀 481評論 0 0
  • 轉(zhuǎn)眼即逝抵赢,時間已經(jīng)到了大年初三,在北方有一句話叫做十五之內(nèi)全是年唧取。 天空中雪花依然飄著铅鲤,但與之前那幾場雪相比便是星...
    續(xù)寫罪惡閱讀 394評論 3 2