• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

objective-C属性

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、@synthesize 表明由系统创建属性的存取方法。

  @dynamic 表明由手动创建属性的存取方法。

2、系统创建存取函数大致代码清单

1)atomic

  -(NSString *)firstName

{ 

  [threadLock lock];

  NSString *result = [[firstName retain] autorelease];

  [threadLock unlock];

}

2)nonatomic

  -(NSString *)firstName

{ 

  NSString *result = [[firstName retain] autorelease];

}

 在确定只有一个线程访问对象的应用中可以选择使用非原子性存取器函数。

   由于不需要原子性存取器函数中所需的线程锁,使用非原子性存取器函数可以略微提高性能。

3)assign

  -(void)setFirstName:(NSString *)inValue

{ 

  firstName = inValue;

}

assign通常用于标量属性、委托(delegate)以及不合适保留的其他类型变量。

4)retain

  -(void)setFirstName:(NSString *)inValue

{ 

  [firstName autorelease];

  firstName = [inValue retain];

}

5)copy

  -(void)setFirstName:(NSString *)inValue

{ 

  [firstName autorelease];

  firstName = [inValue copy];

}

声明为copy的属性自动生成的存取器函数应该复制对象到成员变量

3、属性名与数据成员名不一致

@property (nonatomic, retain,  getter=getFirstName) NSString *firstName;


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
open source Swift, Objective-C and the next 20 years of development发布时间:2022-07-12
下一篇:
iOS 编写高质量Objective-C代码(六)发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap