The iOS Apprentice1-11/12(Page86)

01. showAlert()函數(shù)中追加判斷,根據(jù)差值確定等級(jí),并提示給用戶。

02. 局部變量 local variables 和 實(shí)例變量instance variables。

  • local variables 僅存在于它所定義的方法中。每次方法被調(diào)用,它的成員變量和常量都被重新生成。
  • instance variables 與它所在的對(duì)象同生共死。一般定義在每個(gè)文件的最上面。
  • 上述兩種變量最好在命名的時(shí)候就加以區(qū)分。

03. 將更新label和開始新一輪的處理,修改執(zhí)行位置

  • 修改前:彈出pop 就立即執(zhí)行,更新lable
  • 修改后:在彈出pop,并按下pop的OK按鈕后,再執(zhí)行
# 修改前
let action = UIAlertAction(title: "OK", style: .Default, handler: nil)
# 修改后
        let action = UIAlertAction(title: "OK",style: .Default,
                                   handler: { action in
                                                self.startNewRound()
                                                self.updateLabel()
                                    })

上述代碼塊叫做closure,閉包,可以看做是一種沒有名稱的方法,這段代碼并不立即執(zhí)行,只有在OK的這個(gè)action執(zhí)行完后才執(zhí)行。在這段代碼塊后面的代碼繼續(xù)執(zhí)行,比如后面的pop顯示等。
為什么要在閉包中加入self?

This is a rule in Swift. If you forget self in a closure, Xcode doesn’t want to build your app (try it out). This rule exists because closures can “capture” variables, which comes with surprising side effects. You’ll learn more about that in the other tutorials.

04. 添加startOver的處理

startOver函數(shù),用來重啟游戲,比如換一個(gè)人玩的時(shí)候,需要將前一個(gè)人的分?jǐn)?shù)和輪數(shù)重置。

  func startover(){
        score = 0
        roundNumValue = 0
        startNewRound()
        updateLabel()
    }

添加上述函數(shù),然后在添加startOver與一個(gè)action方法的連接,在action方法中調(diào)用上述函數(shù)。

05. 添加about

  1. 添加cocoa Touch class文件,設(shè)置父類為UIViewController。
  2. 選擇Main.storyboard,添加一個(gè)view controller,并在AttributeInspector中將Orientation設(shè)置為Landscape橫屏。
  3. 添加button和textview控件。
  4. 添加主界面中i 按鈕和 aboutviewController之間的聯(lián)系。按住Ctrl拖動(dòng)到about窗口,選擇modal完成一個(gè)界面的遷移(segues)。
  5. segues也是有屬性的,選擇segues的Attribute Inspector,將Transition設(shè)置為FlipHorizontal,設(shè)置界面遷移時(shí)的動(dòng)畫。
  6. 設(shè)置新添加的viewcontroller的類為 AboutViewController。
  7. 為AboutViewController的close按鈕添加方法。
 @IBAction func close(sender: UIButton) {
        dismissViewControllerAnimated(true, completion: nil)
    }

TODO

  1. Xcode上各個(gè)操作按鈕的意義。
最后編輯于
?著作權(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)容

  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,328評(píng)論 0 17
  • { 11、核心動(dòng)畫 需要簽協(xié)議,但是系統(tǒng)幫簽好 一、CABasicAnimation 1、創(chuàng)建基礎(chǔ)動(dòng)畫對(duì)象 CAB...
    CYC666閱讀 1,701評(píng)論 2 4
  • XDHU閱讀 232評(píng)論 0 0
  • 其實(shí)我們很多都是三葉,總覺得受夠了現(xiàn)在的生活,想從現(xiàn)在的生活中逃離。但是又沒辦法逃離吧。
    阿濱姑娘閱讀 171評(píng)論 0 0
  • 我們聽過很多道理,卻依舊過不好這一生。這其中的關(guān)鍵是我們應(yīng)該將我們聽到的,懂得的,內(nèi)化進(jìn)我們的生活,我們的體內(nèi),這...
    可樂冰激淋閱讀 290評(píng)論 0 0

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