Swift學(xué)習(xí)記錄 Day 2

Day 2?


根據(jù)?100 Days of Swift?第三篇內(nèi)容和知識點侮攀, 開發(fā)學(xué)習(xí)

覆蓋知識面:

1.Write an app in MVC pattern

首先搭建MVC架構(gòu)宏侍,可根據(jù)自己實際經(jīng)驗選擇MVVM 或者MVP 構(gòu)建塘匣,在OC中我習(xí)慣使用MVVM, 但是MVVC通過ReactiveCocoa來構(gòu)建最好,Swift中我還不會使用RXSwift和ReactiveSwift豁陆,所以就根據(jù)知識點一步一步走篇裁。

2.Work with Computed Properties

3.Create a toolbar above the keyboard

為keyboard創(chuàng)建一個toolbar沛慢,實際實現(xiàn)思路為創(chuàng)建一個View,在View里監(jiān)聽keyboardshow和keyboardhidden的通知达布,從userinfo中獲取偏移量和動畫時間团甲, 再對toolbar 進行移動, 達到keyboard.toolbar的功能黍聂。

Done 按鈕實現(xiàn)回調(diào)躺苦,通過toolbar 初始化時傳入一個閉包

Toolbar中

typealiasclickBlock = ()->Void

? ? var callBack:clickBlock?

? ? convenience init(_ block: @escaping () -> Void){

? ? ? ? self.init(frame:CGRect.init(x:0, y:UIScreen.main.bounds.height-40, width:UIScreen.main.bounds.width, height:40))

? ? ? ? setup()

? ? ? ? callBack= block

? ? }

為Btn 加入按鍵事件,并調(diào)用callBack

?@objcfuncbtnClick(_sender:UIButton){

? ? ? ? callBack!()

? ? }

ViewController中

toolbar 不要使用懶加載产还, 因為懶加載對導(dǎo)致閉包中的self無法使用匹厘,同時需要注意 閉包循環(huán)引用的問題

var? keyboardView:KeyBoardStatusView?

keyboardView = KeyBoardStatusView.init({

? ? ? ? ? ? weakvarweakSelf =self

? ? ? ? ? ? weakSelf?.NumberTextField.resignFirstResponder()

? ? ? ? })


4.Set min and max values for Slider

使用storyboard拖拽,可以直接在interface build上設(shè)置

5.Convert Strings to Int / Double and vice versa

Double() 來進行轉(zhuǎn)換

6.Handle calculations with formulas written in the Model

使用MVC 架構(gòu) 就是為了讓ViewController能夠瘦身脐区,那么一些數(shù)據(jù)轉(zhuǎn)換愈诚,計算的邏輯都需要放在Model中,我的做法是將Slider.value 賦值給Model中的一個屬性坡椒, 給這個屬性設(shè)置觀察者扰路,在改變的時候同時改變其他屬性的值

7.Enable or disable objects based on if the keyboard is open

textField的delegate方法中進行設(shè)置

8.Get values from the UISlider and convert them to Int for use in the Model

給UISider.value 添加一個target

CountSlider.addTarget(self, action:#selector(sliderValueChange(slider:)), for:UIControlEvents.valueChanged)

每當(dāng)Slider的value變化時尤溜,賦值給到model中value

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末倔叼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子宫莱,更是在濱河造成了極大的恐慌丈攒,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件授霸,死亡現(xiàn)場離奇詭異巡验,居然都是意外死亡,警方通過查閱死者的電腦和手機碘耳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門显设,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辛辨,你說我怎么就攤上這事捕捂。” “怎么了斗搞?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵指攒,是天一觀的道長。 經(jīng)常有香客問我僻焚,道長允悦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任虑啤,我火速辦了婚禮隙弛,結(jié)果婚禮上架馋,老公的妹妹穿的比我還像新娘。我一直安慰自己全闷,他們只是感情好绩蜻,可當(dāng)我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著室埋,像睡著了一般办绝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上姚淆,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天孕蝉,我揣著相機與錄音,去河邊找鬼腌逢。 笑死降淮,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的搏讶。 我是一名探鬼主播佳鳖,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼媒惕!你這毒婦竟也來了系吩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤妒蔚,失蹤者是張志新(化名)和其女友劉穎穿挨,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肴盏,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡科盛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了菜皂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贞绵。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖恍飘,靈堂內(nèi)的尸體忽然破棺而出榨崩,到底是詐尸還是另有隱情,我是刑警寧澤常侣,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布蜡饵,位于F島的核電站,受9級特大地震影響胳施,放射性物質(zhì)發(fā)生泄漏溯祸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望焦辅。 院中可真熱鬧博杖,春花似錦、人聲如沸筷登。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽前方。三九已至狈醉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惠险,已是汗流浹背苗傅。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留班巩,地道東北人渣慕。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像抱慌,于是被迫代替她去往敵國和親逊桦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,930評論 2 361

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