上一篇文章我有讲到self.与_的差别,往往和这个问题相伴随的是我困惑的问题是"@property与@synthesize的差别"

@property的使用方法

@interface ViewController ()

{

NSArray *arr2;

}

@property(nonatomic,retain)NSArray *arr;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

}

- (void)setArr:(NSArray *)arr{

}

- (void)setArr2:(NSArray *)arr{

}

@end

如上所看到的的一段代码,有俩个变量arr2与arr

假设你是认真敲过相似的代码,你能够在写程序的过程中就发现,arr的set方法似乎已经存在,而arr2的set方法须要全然手动敲定,并且须要调用才干运行。

所以@property的主要作用就是生成存取方法,及set和get方法

@sythesize的使用方法

承接上面的代码,我们能够在运行代码的最前面加入

@synthesize arr = _arr;这样当我们不须要运行存取方法的时候,及_arr就能够获取arr的值,

@sythesize的作用的是更改属性名称

假设我们使用

@synthesize arr = ssarr;

那么在运行文件arr就会叫做ssarr。通过ssarr就能够获取arr的值,听起来比較绕口。敲写程序就知道什么意思了

@property与@synthesize的差别的更多相关文章

  1. @dynamic与@synthesize的差别

    如今非常多时候我们都已经不再使用@synthesizekeyword了,可是须要了解当中的原理: 一.@dynamic与@synthesize的差别 @property有两个相应的词.一个是@synt ...

  2. Objective-C中的@property和@synthesize用法

    @代表“Objective-C”的标志,证明您正在使用Objective-C语言 Objective-C语言关键词,@property与@synthesize配对使用. 功能:让编译好器自动编写一个与 ...

  3. @property和@synthesize的特性

    基础回顾:get方法和set方法 定义类成员变量时,可以在@interface中定义,也可以在@implementation中定义: 在@interface中声明,成员变量的状态是受保护的,即“@pr ...

  4. iOS 详细解释@property和@synthesize关键字

    /** 注意:由@property声明的属性 在类方法中通过下划线是获取不到的 必须是通过 对象名.属性 才能获取到!- @property和@synthesize关键字是针对成员变量以及get/se ...

  5. OC中两个关键字的作用:@property和@synthesize

    两个关键字的使用:@property和@synthesize 一.@property关键字这个关键字是OC中能够快速的定义一个属性的方式,而且他可以设置一些值,就可以达到一定的效果,比如引用计数的问题 ...

  6. OC语法5——@property和@synthesize

    @property和@synthesize: 我们回想一下: 在OC中我们定义一个Student类需要两个文件Student.h 和 Student.m. Student.h(声明文件):定义成员变量 ...

  7. Objective-C基础笔记(2)@property和@synthesize

    先贴出使用@property和@synthesize实现的上一篇中的代码,再解释这两个keyword的使用方法和含义,代码例如以下: Person.h文件 #import <Foundation ...

  8. Objective-c @property和@Synthesize

    在Objective-c中,使用@property来标识属性(一般是实例变量).在实现文件中使用@synthesize标识所声明的变量,让系统自动生成设置方法和获取方法. 也就是说@property和 ...

  9. @property、@synthesize和dynamic的用法

    原文:  http://blog.csdn.net/hherima/article/details/8622948 @代表“Objective-C”的标志,证明您正在使用Objective-C语言 O ...

随机推荐

  1. Direct hosting of SMB over TCP/IP

    http://support.microsoft.com/kb/204279 System TipThis article applies to a different version of Wind ...

  2. [转] Compile、Make和Build的区别

    针对Java的开发工具,一般都有Compile.Make和Build三个菜单项,完成的功能的都差不多,但是又有区别.   编译,是将源代码转换为可执行代码的过程.编译需要指定源文件和编译输出的文件路径 ...

  3. NIO SelectionKey attachment()空指针错误

    Channel注册到Selector时添加了一个Object: serverSocketChannel1.register(selector, SelectionKey.OP_ACCEPT, num[ ...

  4. editcap的使用

    editcap.exe -h Editcap (Wireshark) (v2.-gf42a0d2b6c) Edit and/or translate the format of capture fil ...

  5. HDU1211 RSA

    RSA Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  6. js 正则表达式校验必须包含字母、数字、特殊字符

      1.情景展示 在注册时,密码要求必须同时包含:字母.数字.特殊字符,如何实现? 2.原因分析 用正则表达式进行校验,是最方便的! 3.解决方案 // 密码必须由 8-64位字母.数字.特殊符号组成 ...

  7. 〖Linux〗Kubuntu文件管理器单例的设置(即:一个工作区只一个文件管理器)

    有没有一种,情况: 1. 程序A打开了文件管理器: 2. 程序B又打开了文件管理器: 导致开了两个文件管理器,太不舒服了: 搜索下 kubuntu dolphin single instance,果然 ...

  8. SSH黄金参数

    ssh -o ConnectTimeout=3 -o ConnectionAttempts=5 -o PasswordAuthentication=no -o StrictHostKeyCheckin ...

  9. RHEL7-openldap安装配置三(客户端自动挂载配置)

    前两篇文章我们配置好了LDAP服务端和LDAP客户端.这篇文章将讲述从LDAP客户机服务器上挂载NFS服务器上共享的目录. 1.LDAP服务器上NFS共享配置 1.1 NFS服务也可以单独搭建在另外一 ...

  10. jquery版本号升级不兼容的问题:$(&quot;input&quot;).attr(&quot;value&quot;)功能发生改变

    之前项目中使用的是jquery-1.6.3.js,在这个版本号中,假设我们想获取输入框的值,能够使用$("input").attr("value")或者是$(& ...