WatchOS系統開發大全(5)-WKInterfaceController的生命周期

1.1-簡介

  • WKInterfaceController是我們開發Watch App的核心類,它的地位和之前使用的UIViewController一樣。

  • 每一個Watch App構建時,至少需要在Storyboard上設置一個WKInterfaceController實例作為程序入口。我們可以在Storyboard上使用Main Entry Point設置。

  • 當用戶launch了Watch App時,Watch OS 會開始加載程序中的Storyboard。我們在Storyboard中為每一個WKInterfaceController設置的響應事件,會在用戶觸發時在WatchKit Extension中響應。我們可以像以前一樣push, pop, present 目標WKInterfaceController。

1.2-生命周期

0601.png

1.3-框架

  • (1)當Watch OS加載App中的Storyboard時,iPhone端也會開始加載對應的WatchKit Extension。

  • (2)當Watch OS開始初始化我們Watch App的Storyboard中的UI時,iPhone端WatchKit Extension會生成對應的WKInterfaceController,并且響應initWithContext:方法。

  • (3)當Watch OS顯示當前加載的UI時,WatchKit Extension中對應的WKInterfaceController響應willActivate方法。

  • (4)當用戶切換頁面或者停止使用時,WatchKit Extension中對應的WKInterfaceController響應didDeactivate方法。

0603.png

1.4-使用

  • 從上圖可知這三個API,對應了Watch OS加載一個視圖控制器的三個狀態。我們在自己的WKInterfaceController類中,應該實現這三個API用來處理不同的情況:

    • initWithContext: 我們可以在這里加載數據或者更新在StoryBoard中當前Controller添加的interface objects。
    • willActivate 我們可以在這里更新interface objects或者處理其他事件
    • didDeactivate 我們應該在這里清理task或者數據。在這里更新interface objects將會被系統忽略。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Swift版本點擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 25,572評論 7 249
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,252評論 4 61
  • 說起誰是學習這座大廈的地基呢?不外乎語文、數學、英語這三塊基石。以前上學時一直覺著學數學有啥用呢?感覺現實生...
    學而用閱讀 440評論 0 0
  • 1.簡單原型鏈 優點:簡單,易于實現缺點: 修改sub1.arr后sub2.arr也變了,因為來自原型對象的引用屬...
    sdcV閱讀 302評論 0 0
  • 早上走在校園里,一個發現,草坪上大片的草枯得發白,覆著厚厚的霜,但草坪中間有不少高高的樹,高一點的香樟銀杏棕櫚,矮...
    綠百合閱讀 204評論 0 0