iOS的MVC

 给新人看的, 语文不好写的不清楚的不要怪我哈,错的请指教

iphone编程里有3种东西, model, view, viewController, 就是大家常说的MVC,

简单来讲,model就是 数据结构这类东西,所有的编程语言都一样,如果会1种语言的话这个就是简单的看下objective c 的语法就应该能明白

我本人原来只会点c#, 不算精通. 从c#到objective c转换来讲有几点.
1 是 objctive c把1个类的都分为 .h 跟.m 文件. 其中.h文件是这个类与其他类通话的接口. 这个接口里要写明这个类都能干什么,有什么变量跟函数.而.m文件就是怎么实现这个类.
2 是 所有的对象分配了空间必须自己负责回收, retain保留, copy拷贝, alloc分配空间,放到其他array队列里等 都会造成1个对象被多锁定一次,每锁定1次就要对应release释放1次. 当然如果想继续用已经释放完的,就会造成程序出错退出.
3 是调用函数的方式, objective c有几种调用函数的方式,不过比较常用貌似是这种 [对象 函数:变量]
4是帮助文件,c#一般都是看msdn里查找, ios一般是在ios developer library. ios developer library里最重要的就是各种api的文档,开始觉得很不好用, 因为ios的文档基本没多少解释,也没有例子( 跟msdn里不一样,不会经常介绍个类后给你点例子. ios dev lib里api的文档跟例子是完全分开的,例子一般对初学来讲比较复杂.) 习惯了后觉得ios的文档很好,简洁,因为objective c里只用考虑对象有什么属性,能干什么,文档就只讲这些.



v iew就是各种界面,比如1个button就是1个view,1个UIView上包含几个button, 这个button也是个界面,UIView也是界面.
默认提供的界面种类并不算多,比如button按钮,map地图,table表格.
view也是类,学习起来跟其他类完全一样,不一样的是其他类都能干什么需要想,view能干什么只要用用就知道了, 比如想添加1个button按键,如果完全不知道怎么办.当然最简单的是google,另1种方法是直接看文档,uibutton class reference
http://developer.apple.com/library/ios/#documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html
文档里task第1个就是create button, 用的函数是+ (id)buttonWithType:(UIButtonType)buttonType
写起来建立1个button就是 UIButton *myButton=[UIButton buttonWithType:UIButtonTypeRoundRect];
UIButton *myButton里面用指针指到的对象前面都有" * ", 就像*myButton.直接放到空间的不需要 *.比如 int testI=1;
[UIButton buttonWithType: ...]这个是 建立button的函数,文档里有 + 的是static静态的,所以是对类说:建立个什么类型的button吧. button的类型就是给类传的第1个变量,UIButtonType是1个enmu,文档里有
button能干什么,文档下面TASK都有,一目了然,比如想在button里显示文字,看TASK里Configure button title, 里有- (void)setTitle:(NSString *)title forState:(UIControlState)state
这个函数是-的,所以是对对象说,不是对类说,不能写成[UIButton setTitle...]要写成[myButton setTitle:@"abc" forState:UIControlStateNormal];
UIControlState也是enmu,这类开始就查或者试就可以了,不用都记住,用多了就记住了.
这样我们想要的button就建立了,如果想显示还需要把它加在当前界面上.button跟其他的默认view不同的一点就是他的建立函数,其他的都是alloc, init的,
也就是如果像其他view一样,建立应该是UIButton *myButton=[[UIButton alloc] initWithframe:CGRectMake(0,0,100,100)];
button因为建立函数不一样,所以需要另外给他frame,显示button的位置. 因为不用alloc所以button不需要release.
各个view都怎么用,跟button一样,都看文档如何建立,能干什么就可以了.
所有的释放都用release,文档里没写,是因为release不是UIButton里定义的,文档里显示
Inherits from    继承自
UIView : UIResponder : NSObject
NSObject里有release的定义


viewController负责如何显示各种view,比如1个界面转换到另1个界面的时候如何显示,机器方位变化的时候view如何反映,数据怎么跟view们联系起来.
比较常用的几种viewController是UIViewController, UITableViewController类型的,
在UIViewController里加表格冒充tableViewController要注意,1是UITableViewController帮你自动调整方向变化.2是自己建立UITableView的话要注意这个类的使用要 delegate, datasource 2种协议要满足.2个协议的文档里定义了这些协议都代表什么.哪些函数是必须的哪些是可选的.
只有tableView跟pickerView需要delegate的,
delegate是更高1级的内容, 1个对象A调用另1个对象B, B可以让A执行1些操作, 就可以建立个A delegate的协议,规定了A的类可以干什么,而B delegate到A,说明B是跟A对话的
举例子,tableViewdelegate里有个函数是 让当点击table里的一行时候,干点什么事的.
当前的viewController如果有1个table,这个table点击后干什么,是有这个viewController来实现的,所以由viewController来实现这个delegate,(.h里显示<UITableViewDelegate>)
而table的delegate要指向这个viewController,(一般指向当前viewController)


文件读写一般有几种方式,core data, plist, 直接自己写文件, 文档里也都有介绍.

所有的功能都有文档描述,ios dev lib里直接搜索就可以,一般那个framework点开会有很多.h文件,里面也能直接看到. 比如UIKit.framework可以点开看看,在 XCode里.
有疑难 问题一般都是直接查文档比较好,许多时候大家在论坛上问的问题就是文档里1个函数.
也有文档没讲明白的,比如core data ,要google就好了,不过最重要的还是看各种类的文档

刚买了适合我耳朵跟脑袋的耳机很开心,看总有人有疑问,就写下自己的学习总结,我本人也比较菜,还请大家多指教
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值