__OSX_AVAILABLE_STARTING()用法和xcode 基于iOS5 SDK的开发

经过了一年的iOS开发,iOS平台使用的xcode环境从之前的3.2.5慢慢的,到了4.0,4.2,以及现在的4.3.3(iOS 5.1.1 SDK),开发的模式也发生了很大的变化。
早期版本的xcode,没有加入LLVM的编译器时,我们需要手动管理内存,经常写release、retain、autorelease的方法,管理程序的内存相对比较麻烦。从xcode4.2开始,有一个选项,可以让我们不写release,也就是说,编译器自动帮你管理好了内存。这样,开发的难度小了不少。
 
          苹果开发小记(二):xcode <wbr>基于iOS5 <wbr>SDK的开发心得
【图】 xcode项目设置->编译设置

当 Objective-C Automatic Reference Counting = YES 时,我们写了release、retain、autorelease会出现编译失败【下图】。
苹果开发小记(二):xcode <wbr>基于iOS5 <wbr>SDK的开发心得
【图】 早期xcode开发的代码,加入ARC后直接编译,遇到很多错误。

这个时候,我们就得把release去掉,换成@autoreleasepool{}即可解决。代码如下:
苹果开发小记(二):xcode <wbr>基于iOS5 <wbr>SDK的开发心得
【图】main.m

注意:ARC模式的开发,需要注意的一点,NSObject类型与int等非object类的类型是不可以随意转换的。
不要认为CXXXXX的函数就不要释放了,仍然需要CXXXRelease()释放
应尽量避免使用weak,为了保证兼容性,iOS5.0以下不支持此类型。

当然,大家都会问到,你用了那么新的SDK,你怎么保证你用的方法是可以向下兼容的呢?
解决方法很简单:
苹果开发小记(二):xcode <wbr>基于iOS5 <wbr>SDK的开发心得
【图】UIScrollView.h
使用方法的时候去找头文件,看到有“__OSX_AVAILABLE_STARTING()”就可以知道,上图的方法,MAC不知道什么时候就有了,iPhone/iPad要在iOS3.0以上可以支持。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值