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,586评论 7 249
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 说起谁是学习这座大厦的地基呢?不外乎语文、数学、英语这三块基石。以前上学时一直觉着学数学有啥用呢?感觉现实生...
    学而用阅读 442评论 0 0
  • 1.简单原型链 优点:简单,易于实现缺点: 修改sub1.arr后sub2.arr也变了,因为来自原型对象的引用属...
    sdcV阅读 302评论 0 0
  • 早上走在校园里,一个发现,草坪上大片的草枯得发白,覆着厚厚的霜,但草坪中间有不少高高的树,高一点的香樟银杏棕榈,矮...
    绿百合阅读 204评论 0 0