ARC机制的使用规则 对于ARC机制的使用,苹果发布了几条重要的规则需要开发者遵守。单单看那些生搬硬套的东西难免生涩,根据开发经验将规则总结如下: (1)不能调用dealloc,不能重写和调用retain,release,retainCount 和autorelease,同理,@selector(retain),@selector(release)这些曲线救国的方法也不能调用。 dealloc虽然能够重写,但是不能调用[super dealloc]之类的方法,CoreFoundation框架由于非从属cocoa框架,所以CFRetain和CFRelease仍然正常使用。 (2)不能使用NSAllocateObjec或NSDeallocateObject函数来创建对象 (3)不能在C语言的结构体中使用对象指针,同时建议用object-c的类来管理数据而不是结构体 (4)不得使用NSAutoreleasePool对象。ARC中,全部使用@autorelease关键字代替,且比NSAutoreleasePool更高效 (5)不得使用内存Zone,那些牵涉NSZone的方法都不得使用。 (6)不得对一个属性变量的取值方法命名以new开头 (7)outlet均用weak关键字修饰,除非他是xib中最顶部的界面元素,则需要strong。 (8)Core Foundation不适合ARC,该创建的仍创建,该释放的仍释放。
|