基本语法:
static定义在全局变量上时会改变其作用域,对应所在的局部范围。extern类似php中的global。
结构体struct定义了一个多维kv数组,枚举类型enum检测数据范围,两者通过typedef可封装出自定义类型 。
*表示指针取值,&为取址操作(php中为引用传值,含义不同)。从实例化一个对象 NSString *foo=[NSString stringWithString:"example"] 可知,对象也是指针;指针取址后可通过运算操作地址。
带*的变量都寄存在heap,相反则在stack。
对象:
类中的方法又称消息,通常意义上调用一个方法,在oc中又称发送一个消息。
对象方法init用于初始化函数(相对于php的构造函数construct)。类方法即静态方法
私有方法放在实现文件中,调用方法之前
@sythesize会在编译时生成所需的setter、getter方法
property中的特性包括setter/getter、readwrite/readonly、assign/retain/copy、nonatomic
非线性安全noatomic不使用线程锁,性能略有提高;retain为指针拷贝,copy为内容拷贝,作用于NS对象
内存管理:
调用带有alloc、copy、create,使用类似[Foo alloc] init..]和CreateFoo()会使保留计数加1
通过autorelease在退出循环后会自动释放内存,但不是立刻释放;需要立刻释放使用[Foo release]形式,或创建自动释放池NSAutoreleasePool,再循环体尾部释放(drain或release),嵌套的释放池在最内部优先释放
init类似php的构造方法__construct,则dealloc则类似析构方法__destruct
oc中允许nil对象调用方法,结果为不执行,因此在释放成员变量后将指针设为nil,否则指向的内存地址会不存在(dangling pointer)
委托模式中对象互相内嵌会导致内存泄露,这时应该将委托变量设为assign类型的弱引用
属性的引用类型,强引用表明保留在内存中的指针,不被回收,弱引用反之
当nib文件中的对象没有被外部引用时,可能会被垃圾回收,因此创建一个强引用的IBOutlet连接到owner对象上
分享到:
相关推荐
PHPer 第3期--草根本色
phper-linux-gitbook::light_bulb:PHPer必知必会Linux命令
phper之路, 给学PHP初学者明路
php手册chm,大家可以参考一下,应该有用的
phper杂志第一期.rar
杂志的内容完全由网上的PHPer们积极提供。在发行致辞中,《PHPer》创作组希望,以履行一个交流平台的使命来运作该杂志--“收集用户之所见,回馈用户之所求。”
PHPChina推出的一本PHP开源技术性质的杂志,每两个月出一期。
史上最难PHPer笔试题_40分就能月薪过万史上最难PHPer笔试题_40分就能月薪过万
phper新手?还在漫无目的地学习php?那就参考一下技能树吧
phper 程序员最新一期杂志,讲到flex
国内的各种网店网城软件系统早已确立了各自面向的群体和...并介绍了商城设计原理、模板的制作、修改和使用、以及商城的优化等等技术,为广大爱好者和使用者深入详细的了解各个网店网城软件系统提供一个更加直观的窗口。
phper1 phpchina
作为一位程序员,面试过多次,也面试过很多人,最近又在找工作,总结一下面试经验和面试题,希望可以帮到正在找工作的小伙伴们。 先说一下面试时的心态,刚入门的程序员,技术实力不高,又大多不善言谈,面试一旦...
专门针对phper的杂志,糅合了许多成熟的开发理念
对PHPer水平的划分,具有参考意义,仅供参考。
PHPer9b.pdf php 点子杂志
在发行致辞中,《PHPer》创作组希望,以履行一个交流平台的使命来运作该杂志--“收集用户之所见,回馈用户之所求。” 据了解,目前全球有2000多万个网站使用PHP,包括雅虎、Google、百度、YouTube、新浪、腾讯等...
PHPer面试指南.pdf
PHPer 杂志第二期.pdf
高级phper面试问题锦集