• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我不是贱人曾
博客园    首页    新随笔    联系   管理    订阅  订阅

iOS关键字,修饰符小结

一、
@interface 声明类
@implementation 类的实现
@property 声明属性
@public 声明公共实例变量
@private 声明私有实例变量
@selecter 创建一个SEL,类成员指针
@protocol 声明协议
@autoreleasepool ARC中的自动释放池
@end 类结束
二、
ARC会自动帮你插入return和release语句,不过自动代码生成器需要一些提示来控制销毁的时机。ARC通过制定所有权修饰符进行判断,
来决定指针的生命周期。
这里说明四种所有权修饰符
你可以使用以下两种方式指定强所有权:
1)、__string
1__strong NSString* myObject = nil;
或:
2@property(nonatomic, strong) NSObject *myObject;
第二种较常用,一般用于声明属性。__strong也是默认的所有权修饰符。
2)、__unsafe_unretained
这一修饰符的常见使用方法是在视图控制器里维持指向子视图的引用
3)、__weak
__weak修饰符的作用与__unsafe_unretained修饰符非常相似,只是当指针指向的内容被销毁后,弱指针便会成为空值(nil)。当然,这也需要运行时的
支持。此外,弱引用仅支持iOS5及以上的系统。

3)、__autoreleasing
__auto_releasing所有权修饰符可以在你想要从方法返回一个自动释放(auto-released)变量时使用。在方法中分配的 NSError对象会通过指向使用了
__auto_releasing所有权的指针返回到调用者中。这个修饰符与其他3个有个重要区别,就是 __auto_releasing无法用在属性上。


 
posted @ 2015-09-08 21:49  我不是贱人曾  阅读(247)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3