Swift學(xué)習(xí)筆記

寫在前面的話,剛開始接觸Swift,基于swift3.0。理解的比較淺顯,目標(biāo)是知道怎么用。具體為什么這么用有些還不知道。

1、在swift自定義一個(gè)UIView類的時(shí)候需要重寫override init(frame:CGRect)方法和實(shí)現(xiàn)必寫的方法required init?(coder aDecoder:NSCoder)

如果只寫了override init(frame:CGRect),系統(tǒng)會(huì)默認(rèn)提示實(shí)現(xiàn)required init?(coder aDecoder:NSCoder)


初始化方法

2、在OC中的宏定義#define在swift中沒有了可以用常量或者函數(shù)代替,如常用的:屏幕的寬高和自定義顏色


用常量和方法代替OC中的宏定義(#define)

3、swift中// MARK: - XXXXXX 相當(dāng)于#pragma mark - XXXXXX

4、代理傳值和OC中代理差不多用關(guān)鍵字protocol?

定義一個(gè)代理:

protocol MenuViewDelegate:NSObjectProtocol{

? ? ? ? ? ? func menuViewWithSelectItem(menuview:MenuView, itemButton:MenuItemButton)

}

因?yàn)榇硪脀eak關(guān)鍵字修飾,如果在代理方法的后面不加上NSObjectProtocol直接用weak修飾的話。編譯器會(huì)報(bào)錯(cuò)。

在一個(gè)類中關(guān)聯(lián)代理? weak var delegate:MenuViewDelegate? =nil 代理必須是可選的加“?”

在另一個(gè)類使用代理的時(shí)候,引入代理不是OC中的“<>” 而是直接在類的父類之后用逗號(hào)隔開“,”


引入代理


代理也是頁面?zhèn)髦档囊环N實(shí)現(xiàn)方式,還有另外兩種(閉包和參數(shù)傳值具體可借鑒這位網(wǎng)友的文章http://m.itdecent.cn/p/636f0aca4fa3

因?yàn)镾wift中的結(jié)構(gòu)體和枚舉也可以有協(xié)議。而結(jié)構(gòu)體和枚舉不通過引用計(jì)數(shù)來管理內(nèi)存,所以枚舉和結(jié)構(gòu)體的協(xié)議不能用weak修飾,因此如果在Swift中的協(xié)議不加上NSObjectProtocol或class的時(shí)候,用weak修飾編譯器會(huì)報(bào)錯(cuò),具體解釋可以看喵神的這篇文章(http://swifter.tips/delegate

5、在OC中用set方法在Swift中可以用didSet代替

swift的didSet方法

6、在Playground顯示一個(gè)創(chuàng)建的UI。

? ? ? 1)、首先要在代碼中導(dǎo)入PlaygroundSupport

? ? ? 2)、在把創(chuàng)建好的UI添加到PlaygroundPage.current.liveView上


在在Playground顯示一個(gè)創(chuàng)建的UI

打開右側(cè)的UI呈現(xiàn)頁面有兩個(gè)方法? 1:“Alt + Shift + Command + Return”2:打開Assistant Editor如下圖


打開Assistant Editor
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift2.0 1.defer譯為延緩、推遲之意類似棧 注意作用域,其次是調(diào)用順序——即一個(gè)作用域結(jié)束(注意),...
    zeqinjie閱讀 3,518評(píng)論 0 50
  • Swift屬性 Swift屬性將值跟特定的類,結(jié)構(gòu)體,枚舉關(guān)聯(lián)。分為存儲(chǔ)屬性和計(jì)算屬性,通常用于特定類型的實(shí)例。屬...
    小小廚師閱讀 991評(píng)論 0 0
  • 一直沒有時(shí)間好好看一下swift,最近復(fù)習(xí)了一遍語法,這里記錄swift學(xué)習(xí)過程中遇到的一些問題和要點(diǎn),和Obje...
    bomo閱讀 2,571評(píng)論 0 25
  • swift的基礎(chǔ)語法 這樣吧,先把swift4.0教材的先分享給大家。swift4和swift3的基本上沒有多大的...
    請(qǐng)輸入賬號(hào)名閱讀 15,952評(píng)論 12 60
  • 早,16樓 走4公里 晚上跑8公里,本來計(jì)劃10公里的,沒有堅(jiān)持下來,下次挑戰(zhàn) 很多事,其實(shí)可以做到,堅(jiān)持一下,忍...
    麗麗我我閱讀 224評(píng)論 0 0

友情鏈接更多精彩內(nèi)容