序:今天开始新开一个坑,作为一个准备了许久却依然摆脱不了24k纯菜鸟身份的程序员,跟随Stanford的世界未来精英们一起学习iOS7应用开发的相关知识,同时也是为了自己以后的业余项目做准备,提升自己的工作筹码。我所follow的教程来自itunes上面斯坦福大学的公开课程《Developing iOS 7 Apps for iPhone and iPad》,很容易就能找到。这些博客除了作为追课过程中的笔记之外,可能也会有搜集到的与这次课相关的一些资料,和一些个人体会。只作为自己的记录,不敢保证正确性、前沿性和实用性,凡是有瑕疵的地方欢迎讨论。
1、iOS是什么?
系统组成:Core OS, Core Services, Media, Cocoa Touch;
(1)Core OS: 最接近硬件的层次,是一个unix内核;
(2)Core Service:所有api、编程语言等功能;
(3)Media:实现图像、视频、音频等功能;
(4)Cocoa Touch:界面、控件相关;
2、开发环境:
(1)工具:XCode 5;
(2)语言:Objective-C;
(3)开发框架:Foundation、UIKit、Core Data等;
(3)设计模式:MVC;
3、Model-View-Controller:
MVC设计模式将程序分为三大部分:
Model:表明App是什么,与界面无关;
Controller:Model如何在界面上显示;
View:Controller的附属,屏幕上的某个区域;
* 三个部分之间的通信:
控制器controller可以直接访问model,也可以直接访问view(通过outlet);Model和View不能通信;
View可以通过action和target访问控制器,以及代理(delegate);View不拥有数据;Controller通过数据源(data source)更新数据;
Model可以通过通知和KVO等方式同控制器交互。
*多MVC结构:
某个MVC可以从属于一个更高级别的MVC;
4、Objective-C:
C语言的超集;
*属性Property的概念:如何访问实例变量的方法,setter/getter方法(可以在声明时重命名);
strong和weak两种修饰关系:表明该属性什么时候被释放;分别类似于retain和assign;
*头文件:myClass.h;源文件:myClass.m;头文件中声明了公有api,可供源文件访问;iOS7中引入框架的新方法:@import Foundation;兼容旧版;在.m中可以声明私有方法。