
关于iOS开发的学习,打个比方就像把汽车分解:
最底层的原料有塑料,钢铁
再用这些底层的东西造出来发动机,座椅
最后再加上写螺丝,胶水等,把汽车就拼起来了
iOS基本都是英文的资料,也由于封闭,文档写的相当好。在遇到新框架的时候:
弄明白框架的功能
去文档里搜搜 框架的 Programming Guide 很有用
要弄明白框架类的继承结构
写iOS的程序不一定都是用OBJC,很多框架是用C写的。学习iOS开发基础可以按照下面两个方面学:
基础 (原料 钢铁 塑料)
OBJ-C — 语法弄明白 @interface @property 这些东西总要知道是干嘛的 怎么用
基础库 — NSString NSArray NSDictionary等 这些东西在所有的框架里都会出现
iOS大部分类都是继承自NSObject (我还没见过不是继承自NSObject的..)
还有一些 像NSCopying的接口(经@李禹龙提醒 应该叫协议) 不是特别用到开始不用了解
NSObject 创建对象的时候用 + (id)alloc 方法 创建后需要init方法初始化 这个init指的是所有前面是init的方法比如UIView的初始化方法是 – (id)initWithFrame:(CGRect)aRect 在Objc里有很多这样关于函数命名的约定 类似于在python中的函数__xxx
NSString 字符串 NSArray 数组 NSDictionary 字典 这些都需要弄很清楚 其他的类都是一个套路
NSMutableArray 这样带Mutable的类代表可变的 继承自相应的不可变类 比如NSMutableArray继承自NSArray 他们都添加了可以改变对象内容的方法比如
– (void)addObject:(id)anObject 添加对象
– (void)removeObject:(id)anObject 删除对象
上面只是一个大概的总结 还有很多东西需要学 iOS5的SDK已经支持ARC 可以自动进行release 但是对iOS4的支持还有一个小问题 现在要开发应用 可能还需要按照之前的MRC的方式alloc release retain autorelease 之类的内存管理方法 不过如果你现在开始学 到编出像样的APP iOS5可能已经普及了 可以直接用ARC (另 之前对ARC的了解很粗浅 现在开发程序完全可以直接ARC iOS4不支持的weak是有办法替代的 用unsafe_unretained 如果同时支持iOS5和iOS4 用宏判断下就可以 当然也可以直接用assign)
还有一点开始学习的时候肯定很疑惑 内存管理是基于函数名称的 比如带alloc copy的函数 用了之后返回的对象一定要release 这个不用疑惑 照做就行了
