`

Objective-C语言@property,与@synthesize配对使用

 
阅读更多
简介
  Objective-C语言关键词,与@synthesize配对使用。
  功能:让编译器自动编写一个与数据成员同名的方法声明来省去读写方法的声明。
  如:
  1、在头文件中:
      @property int variable;

  等效于在头文件中声明2个方法:
  - (int)variable;
  -(void)setVariablet:(int)newVariable;

  2、实现文件(.m)中
  @synthesize variable;

  等效于在实现文件(.m)中实现2个方法。
  - (int)Variable
  {
  return variable;
  }
  -(void)setVariable:(int)newVariable
  {
  variable = newVariable;
  }

  以上等效的函数部分由编译器自动帮开发者填充完成,简化了编码输入工作量。
编辑本段
格式

  声明property的语法为:
  @property (参数1,参数2) 类型 名字;
  如:
  @property(nonatomic,retain) Variable *variable;
  其中参数主要分为三类:
  读写属性: (readwrite/readonly)
  setter语意:(assign/retain/copy)
  原子性: (atomicity/nonatomic)
  各参数意义如下:
  readwrite
  产生setter\getter方法
  readonly
  只产生简单的getter,没有setter。
  assign
  默认类型,setter方法直接赋值,而不进行retain操作
  retain
  setter方法对参数进行release旧值,再retain新值。
  copy
  setter方法进行Copy操作,与retain一样
  nonatomic
  禁止多线程,变量保护,提高性能
分享到:
评论

相关推荐

    Objective-C中的@property和@synthesize用法详解

    相信每个初学者对@property和@synthesize都感到非常的陌生,在此给大家分享下我的自己的理解,有不当之处,还望多多指教。详细说明文章在下面连接http://blog.csdn.net/comeontom/article/details/7455459

    Objective-c解析XML封装

    @property (nonatomic, retain) NSMutableString *currentResult; @property (nonatomic, retain) NSMutableDictionary *map; @property (nonatomic, retain) NSMutableArray *list; -(NSMutableDictionary *)...

    Objective-c对象组装XML

    @synthesize objectName; @synthesize lvUp; @synthesize root; @synthesize buildEnd; -(NSData *)objctPackage:(NSMutableDictionary *)object objectName:(NSString *)name xmlTemplateName:(NSString *)...

    Objective-C for Absolute Beginners iPhone, iPad, and Mac Programming Made Easy

    Using a hands-on approach, you'll learn how to think in programming terms, how to use Objective-C to construct program logic, and how to synthesize it all into working apps. Gary Bennett, an ...

    Objective-C for Absolute Beginners: iPhone and Mac Programming Made Easy

    Using a hands-on approach, you'll learn how to think in programming terms, how to use Objective-C to construct program logic, and how to synthesize it all into working apps. Gary Bennett, an ...

    objective-c小技巧

    1. 使用@property和@synthesize声明一个成员变量,给其赋值是时要在前面加上"self.",以便调用成员变量的setmember方法。 直接调用成员变量并且给其赋值:member=[NSString stringWithFormat:@””];将不执行...

    破解Objective-C面试:笑到最后的技术攻略!.zip

    Objective-C、iOS开发、Mac OS X、编程语言、面向对象编程、内存管理、自动引用计数(ARC)、协议(protocol)、类扩展(category)、键值观察(KVO)、键值编码(KVC)、Block、Delegate模式、多态性、Singleton...

    Objective-C for Absolute Beginners(Apress,3ed,2016).pdf

    Using a hands-on approach, you’ll learn how to think in programming terms, how to use Objective-C to construct program logic, and how to synthesize it all into working apps. Gary Bennett, an ...

    传智博客-Objective-C PPT

    本套PPT,拥有以下OC语言的内容: ...二、OC的特有语法(点语法、@property、@synthesize关键字、id、构造方法、分类、description、SEL) 三、内存管理 四、协议(protocol)代码块(block) 五、ARC 等等

    DT系列伺服马达产品手册.pdf

    DT系列伺服马达产品手册pdf,DT系列伺服马达产品手册

    iOS开发中属性 property 和 synthesize 详解

    针对iOS开发中属性 property 和 synthesize 进行了详细介绍

    Python库 | synthesize-0.0.1-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:synthesize-0.0.1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    irrelon-synthesize:一个用于 JavaScript 模块的简单 getter setter 合成器

    自动创建简单的方法来获取和设置 JavaScript 模块的属性,类似于 iOS Objective-C 中的 @synthesize 指令。 用法 在这个例子中,我们在 MyClass 原型上创建了一个名为 name() 的 getter/setter 方法: var MyClass...

    3D-Synthesize3DviaDepthOrSil.zip

    3D-Synthesize3DviaDepthOrSil.zip,[CVPR 2017]通过建模多视图深度图或轮廓生成和重建三维形状,3D建模使用专门的软件来创建物理对象的数字模型。它是3D计算机图形的一个方面,用于视频游戏,3D打印和VR,以及其他...

    引导程序:针对高质量编码的iOS项目引导程序

    iOS项目引导您如何设置iOS项目?...代码质量和警告警告是由编译器团队添加的原因,例如,我从Weverything开始并禁用一些警告: Wno-objc-missing-property-synthesis-不想对属性进行@synthesize Wno未使用

    Android代码-Synthesize

    Synthesize Synthesize is an android library which can create layout images in background threads, services, etc without inflating them in activity or fragments. Synthesize Documentation

    varidict_handler

    变量处理程序一个ObjC助手来使用varidict处理程序。 一行代码值得一千个单词。 @interface Consumer/* * The type is void (^)() or void (^)(id self). */@property ( nonatomic , copy ) NDHandler handler;- ( ...

    ObjcAssociatedObjectHelpers:使与关联对象的工作变得更加愉快

    ObjcAssociatedObjectHelpers 介绍 在OS X 10.6和iOS 4.0中引入了。 此功能为类实例提供了各种字典,可以使用运行时函数objc_setAssociatedObject()和objc_getAssociatedObject()在... SYNTHESIZE_ASC_OBJ(myCategoryOb

    react-native-hybrid-app-examples:在现有iOS应用程序中使用React Native的示例集合

    React Native Hybrid App示例在现有iOS应用程序中使用React Native的示例集合概念预装桥如果要使混合应用程序具有良好的性能,应该做的第一件事就是预先加载RCTBridge并将其引用保存在某个地方(可能是AppDelegate ...

Global site tag (gtag.js) - Google Analytics