iOS开发第一次接触,自学,swift中文版教程http://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/index.html和斯坦福大学iOS8公开课,感谢提供这些资料的前辈和朋友,笔记里不仅会记录Paul老师的授课内容,也记录自己的理解。
1)iOS8的结构,按贴近硬件的底层到用户的顶层分为:
Core OS层:涉及硬件和安全性的,就需要在这个层上的一些框架;
Core Services层:面对对象层,有Foundation框架(数据类型,字符串管理)就在这一层;
Mobile层:包含图形,音频和视频技术;
Cocoa Touch层: 创建IOS程序的关键层,实现常用功能,如按钮,文本框等,有UIKit框架,是页面开发的主要框架。
2)MVC
M:Modle,模型,即数据
V:View,,视图,即storyboard(分镜,故事板),完成页面的布局,上面有各种各样的mobile信息,就像一幅幅画连在一起一样;
C: Controller,控制器,控制程序,实现如按钮按下会触发内容更新等动作。
使用MVC模式 ,把M和V独立开,使用C作为媒介。
C对M完全掌控,因为C的任务就是把M展现给用户,所以有完全的访问权限;M对C是盲通信,当数据改变时,会通过Notification和Key Value Observing(KVO) 技术通知C,C就会取索取改变的数据了。
V对C也是盲通信,如V上的点击按钮,不知道会实现什么方法action,只是简单地反馈给C,告诉C有一个点击按钮的动作而已,复杂些的动作如拖动屏幕,通过代理delegate实现,代理也在C中;C直接向V施加命令outlet。