学习的先决条件:
面向对象编程
至少有过2~3个面向对象的程序基础
ios分为4层:
core OS: Unix 核心,包括网络、socket、安全机制,大部分的api是c语言实现的。
Core Service:集合,网络,字典、线程等对操作系统的分装
Media: 声音、图片,图形引擎等
Cocoa Touch: 多点触控、web视图、定位、图片选择器、控件、相机等
开发工具:xcode4
语言:objective C
框架:类库
设计策略:MVC
Obejctive C
@nonatomic 表示是线程不安全的
@synthesize 声明一个属性
MVC and Introduction to Objective-C
IOS layer-Cocoa Touch、Media、Core Services、Core OS
MVC——
Model = What your application is (but not how it is displayed)
model阵营是你的应用是做什么的
Controller = How your Model is presented to the user (UI logic)
Controller阵营是你的model如何展现在用户面前,控制如何在UI上展现model
View = Your Controller's minions
view是Controller的仆人,view就是controller使用的工具
controller利用这些通用view来做model需要做的事,view应该是很通用的,利用通用的view来理解和使用这些功能。
controller向model发消息是100%被允许的。也是用了把model展现在屏幕上的,有完全的访问权。
controller是把model显示在屏幕上,它可以对view做任何事。(Controllers can also talk directly to their View)
outlet是一个表达式用来表示controller和view通信的一个属性。我们要在controller里创建outlets传到view中去。
The Model and View should never speak to each other.因为model和用户交互界面无关。
view(通用的)和controller(详细控制如何在屏幕展现model)之间的通信的是不可见的。view向controller通信的方法,有结构的方法,一个被称为target action,就是controller自己画一个target,然后把一个action交给它的view。
The Controller sets itself as the View's delegate.controller把自己设为委托。
delegation是另一个view和controller通信的方法。
view只是一个平面,用来显示数据,一个显示信息的平台.
Controllers are almost always that data source (not Model).类似地,view会有一个数据源的设置,controller会回应数据源。注意,数据源的delegation永远是controller,或者是controller指定的第三方,但不可能是model。
Controllers interpret/format Model information for the View。controller的工作是把model的信息传达给view,响应所有的delegation。
model是ui独立的,不能向controller发话。
controller的工作来用view显示model。
strong:表示保存这个指针对象的内存直到结束使用。
weak:表示如果没人在用这个指针了,那就设为nil。
所有的property初始值都是0.
obj-c比较特殊的一点是:如果你发送消息给nil,does nothing。
@synthesize 只为property变量分配一个指针空间,还是需要调用setter来设置(初始化)。
self是个指向自己的指针,[self topspeed];
[self topspeed]和self.topspeed是一样的。等号的两边都可以用.号,等号左边的.表示调用setter,右边表示getter。
学员评论
anan2212015-05-21
lalalo2014-04-03
将进酒890f2014-03-02
谭兆辛2014-02-19
暁朶夏沫2014-01-07
helobin2013-04-04
歪歪不知道2013-02-23
你感兴趣的课程
扫一扫 关注好知微信