iOS菜鸟成长笔记(3)——斯坦福公开课学习(1)
2015-05-09 15:53
274 查看
一、iOS四层结构
1、Core OS
是用FreeBSD和Mach所改写的Darwin, 是开源、符合POSIX标准的一个Unix核心。这一层包含或者说是提供了整个iPhone OS的一些基础功能,比如:硬件驱动, 内存管理,程序管理,线程管理(POSIX),文件系统,网络(BSD Socket),以及标准输入输出等等,所有这些功能都会通过C语言的API来提供。另外,值得一题的是,这一层最具有UNIX色彩,如果你需要把 UNIX上所开发的程序移植到iPhone上,多半都会使用到Core OS的API.
2、Core Service
Core Services在Core OS基础上提供了更为丰富的功能, 它包含了Foundation.Framework和Core Foundation.Framework, 之所以叫Foundation ,就是因为它提供了一系列处理字串,排列,组合,日历,时间等等的基本功能。Foundation是属于Objective-C的API,Core Fundation是属于C的API。另外Core servieces还提供了其他的功能,比如:Security, Core Location, SQLite, 和Address Book. 其中Security是用来处理认证,密码管理,按安全性管理的; Core Location是用来处理GPS定位的;SQLLite是轻量级的数据库,而AddressBook则用来处理电话薄资料的。
3、Media
如同其名,Media层提供了图片,音乐,影片等多媒体功能。图像分为2D图像和3D图像, 前者由Quartz2D来支持,后者则是用OpenglES.与音乐对应的模组是Core Audio和OpenAL, Media Player 实现了影片的播放, 而最后还提供了Core Animation来对强大动画的支持。
4、Cocoa Touch
最上面一层是Cocoa Touch,它是Objective-C的API, 其中最核心的部分是UIKit.Framework,应用程序界面上的各种组件,全是由它来提供呈现的,除此之外它还负责处理屏幕上的多点触摸事件,文字的输出,图片,网页的显示,相机或文件的存取,以及加速感应的部分等。
二、iOS中的MVC
如上图所示,我们将划分为三个部分,白色分割线条表示可以直接访问,黄色分割线条表示不能直接访问。
我们现在要访问某个视图UIView中的属性,就需要使用Outlet进行直接访问,如果视图中有某些事件(比如点击、滑动)要通知控制器(Controller)则需要通过action或者delegate的方式进行访问,而Model的数据变化是通过广播来进行通知Controller的。
三、第一个Objective-C重点及注意点
我们新建一个Card类,包含两个文件(Card.h文件和Card.m文件)** Card.h是公有声明,Card.m是私有实现
如上图所示,私有的声明可以在Card.m文件中进行声明。
** 点语法只适用于getter和setter方法(返回值为void的其他方法只有语法警告,但是不建议使用)
** Objective-C和Java不同的是属性不能直接通过点语法访问(点语法实际上调用的是getter和setter方法)
其他语法请参考系列博客《Objective-C基础笔记》
相关文章推荐
- iOS菜鸟成长笔记(3)——斯坦福公开课学习(1)
- 斯坦福机器学习公开课笔记(八)--机器学习系统设计
- 斯坦福大学公开课 iOS应用开发教程学习笔记(第九课)Table Views
- 2011年冬斯坦福大学公开课 iOS应用开发教程学习笔记(第四课) Views 视图
- 斯坦福 ios学习 笔记(一)
- 斯坦福机器学习公开课笔记--神经网络的学习
- 斯坦福 ios学习 笔记(二)
- 斯坦福机器学习公开课笔记(一)--单变量线性回归
- 斯坦福 ios学习 笔记(四)
- iOS菜鸟成长笔记(1)——第一个iOS应用
- 2011年冬斯坦福大学公开课 iOS应用开发教程学习笔记(第四课) Views 视图
- 2011年冬斯坦福大学公开课 iOS应用开发教程学习笔记(第四课) Views 视图
- iOS菜鸟成长笔记(1)——第一个iOS应用
- 【编程范式】斯坦福公开课-学习笔记1
- 斯坦福机器学习公开课笔记(十四)--大规模机器学习
- 斯坦福机器学习公开课笔记(六)--神经网络的学习
- 斯坦福机器学习公开课学习笔记(3)—拟合问题以及局部权重回归、逻辑回归
- 斯坦福大学公开课 iOS应用开发教程学习笔记(第六课)多个MVC的程序和故事版、UINavigationController、 Segues
- Mechine Learning|斯坦福公开课学习笔记1
- 小菜鸟的第一篇文章,在学习RN,就当是做笔记吧,iOS开发RN中添加第三方库react-native-image-picker