-
這個(gè)是重寫 iOS開發(fā)的都這么水嗎查看全部
-
假設(shè)你為你子類引入的任何新的屬性都提供了默認(rèn)值,請(qǐng)遵守以下2個(gè)規(guī)則:
規(guī)則1
如果你的子類沒有定義任何指定初始化器,它會(huì)自動(dòng)繼承父類所有的指定初始化器。
規(guī)則2
如果你的子類提供了所有父類指定初始化器的實(shí)現(xiàn)——要么是通過規(guī)則1繼承來的,要么通過在定義中提供自定義實(shí)現(xiàn)的——那么它自動(dòng)繼承所有的父類便捷初始化器。
就算你的子類添加了更多的便捷初始化器,這些規(guī)則仍然適用。
注意
子類能夠以便捷初始化器的形式實(shí)現(xiàn)父類指定初始化器來作為滿足規(guī)則2的一部分。
查看全部 -
swift 引用類型判讀是否相等用 === 判斷
如:
class persion
var persion1 = persion
persion1 === persion
查看全部 -
繼承: 子類可以使用父類的方法和屬性,final 修飾的類不能再被繼承
查看全部 -
static let shareInstanc = DOwnMangaer()
? ? private init( ){
?? ? ? ?
? ? }
查看全部 -
open public internal fileprivate private
查看全部 -
lazy property ?懶加載屬性,保證屬性值只被計(jì)算一次就保存下來,計(jì)算屬性每次調(diào)用都會(huì)重新計(jì)算
var address: String{
? ? ? ? return ""
? ? }
? ? lazy var myAddress: String = {
?? ? ? return "\(self.latitude)" + "\(langtitude)"
? ? }()
? ? var width: Int{
? ? ? ? set{
?? ? ? ? ? ?
? ? ? ? }
? ? ? ? get{
? ? ? ? ? ? return latitude - langtitude
? ? ? ? }
? ? }
查看全部 -
屬性觀察器: didSet{} ?willSet{}?
查看全部 -
靜態(tài)方法又叫類型方法 方法前面添加 ?static 關(guān)鍵字就可以
查看全部 -
類是引用類型傳遞,結(jié)構(gòu)體是值傳遞類型,類可以被繼承,結(jié)構(gòu)體是更輕量級(jí)的,存儲(chǔ)在系統(tǒng)的棧里面,類存儲(chǔ)在系統(tǒng)的堆里面。
結(jié)構(gòu)體適合描述存儲(chǔ)值的對(duì)象。rect point?
類適合描述對(duì)象 人 車?
查看全部 -
計(jì)算屬性默認(rèn)是只有g(shù)etter方法的,可以重寫setter getter,是通過存儲(chǔ)屬性計(jì)算得來的,類和結(jié)構(gòu)體都有這兩種屬性。長(zhǎng)方形的size 和 origin都是存儲(chǔ)屬性,center是計(jì)算屬性
查看全部 -
給屬性添加static關(guān)鍵字就成了類型屬性,被類持有,生命周期跟應(yīng)用程序一樣長(zhǎng)
查看全部 -
引用類型是指向,改變自身是允許的,結(jié)構(gòu)體和枚舉 值類型是拷貝,改變自身需要mutating 特殊處理
查看全部 -
結(jié)構(gòu)體是值類型,賦值就是開辟新的內(nèi)存,并拷貝值為副本。 類是引用類型,賦值即兩個(gè)指針指向同一塊內(nèi)存區(qū)域
查看全部 -
結(jié)構(gòu)體的創(chuàng)建。初始化()的時(shí)候會(huì)自動(dòng)提示,結(jié)構(gòu)體的常變量使用,結(jié)構(gòu)體相比于類,類要更負(fù)責(zé)功能更強(qiáng)大一些
查看全部 -
枚舉:是一種新的 數(shù)據(jù)類型,不是整型不是字符串。枚舉能夠窮舉
enum Direction{
? ? case NORTH,SOUTH,EAST,WEST
}
func showDirection(direction:Direction) -> String{
? ? switch direction {
? ? case .NORTH:
? ? ? ? return "北京"
? ? case .SOUTH:
? ? ? ? return "南家"
? ? case .EAST:
? ? ? ? return "動(dòng)靜"
? ? case .WEST:
? ? ? ? return "西苑"
? ? }
}
showDirection(direction: .SOUTH)
查看全部 -
子類中 如果實(shí)現(xiàn)了父類的所有指定構(gòu)造函數(shù),那么子類自動(dòng)將父類的便利構(gòu)造函數(shù)繼承
查看全部 -
結(jié)構(gòu)體 struct 枚舉 enum ?int ?....是值類型:相當(dāng)于深拷貝,拷貝的不僅僅是對(duì)象本身還有地址。
class ,閉包 block 是引用類型:相當(dāng)于淺拷貝,拷貝的是指針
查看全部 -
使用static或者class修飾類型屬性或者類型方法 兩者區(qū)別是static不能被子類重寫而class可以被子類重寫查看全部
-
子類構(gòu)造函數(shù)的繼承規(guī)則查看全部
-
swift中的單例模式 使用靜態(tài)屬性(類屬性),調(diào)用一次private的init函數(shù),初始化這個(gè)單例查看全部
-
didSet和willSet不會(huì)再初始化階段init調(diào)用 也不會(huì)再首次給觀察的屬性賦值時(shí)調(diào)用?查看全部
-
屬性觀察器的應(yīng)用 觀察主題屬性,根據(jù)主題的變更,調(diào)整相應(yīng)的屬性改變查看全部
-
willSet后跟的newValue表示即將設(shè)置的新值查看全部
-
didSet后跟上變量oldValue表示完成這次set方法之前的值查看全部
-
屬性觀察器 如果需要監(jiān)聽一個(gè)屬性的變化做對(duì)應(yīng)操作,可以再屬性后跟上大括號(hào)并用didSet關(guān)鍵字寫一段邏輯查看全部
-
類屬性 在屬性的聲明前加上static關(guān)鍵字查看全部
-
1 如果子類沒有實(shí)現(xiàn)任何負(fù)類的指定構(gòu)造函數(shù),則自動(dòng)繼承父類的所有指定構(gòu)造函數(shù); 2 如果子類實(shí)現(xiàn)了負(fù)類所有的指定構(gòu)造函數(shù),則自動(dòng)繼承父類的所有便利構(gòu)造函數(shù);查看全部
-
枚舉中也可寫方法查看全部
舉報(bào)