上一篇文章我有讲到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. 从头认识java-15.7 Map(7)-TreeMap与LinkedHashMap

    这一章节我们来讨论一下Map两个比較经常使用的实现:TreeMap与LinkedHashMap. 1.TreeMap 特性:依照key来排序 package com.ray.ch14; import ...

  2. 【树形DP】 HDU 2412 Party at Hali-Bula

    给出根节点(BOSS) 然后还有N-1个边  A B 由B指向A (B为A 的上司) 每次仅仅能选择这个关系中的当中一个 求最多选几个点 而且输出是不是唯一的 重点推断是否唯一: 1.若下属不去和去都 ...

  3. gcc 0长数组学习

    首先,我们要知道,0长度的数组在ISO C和C++的规格说明书中是不允许的.这也就是为什么在VC++2012下编译你会得到一个警告:“warning C4200: 使用了非标准扩展 : 结构/联合中的 ...

  4. RSA密钥生成、加密解密、签名验签

    RSA 非对称加密公钥加密,私钥解密 私钥签名,公钥验签 下面是生成随机密钥对: //随机生成密钥对 KeyPairGenerator keyPairGen = null; try { keyPair ...

  5. C#和JAVA的RSA密钥、公钥转换

    C#的秘钥跟JAVA的密钥区别   RSA对于程序本身是没有区别的,其格式都是相同的.对于不同的程序来说,存储使用的语法(包装的类)会有所不同. RSA语法和语法标准有很多,大的类型大概分为ASN.1 ...

  6. django生成文件txt、pdf(在生成 PDF 文件之前,需要安装 ReportLab 库)

    from django.http import HttpResponse def download_file(request): # Text file #response = HttpRespons ...

  7. PHP 反射 初步测试

    <?php //php反射机制 /* //用途 1 该扩展分析php程序,导出或提取出关于类,方法,属性,参数等详细信息,包括注释 //Reflection可以说是对php库函数: /class ...

  8. 获取spring的ApplicationContext几种方式【转】

    转自:http://blog.sina.com.cn/s/blog_9c7ba64d0101evar.html Java类获取spring 容器的bean 常用的5种获取spring 中bean的方式 ...

  9. excel怎么在插入的方框上打勾

    本例主要介绍如何在excel中插入带对勾的方框.   工具/原料 Excel 操作步骤:  在编辑Excel表格模板时,比如说简历.人力信息登记表等,经常需要有一些可选项,如下例的婚姻状况就包括“有配 ...

  10. java的BASE64Encoder,BASE64Decoder加密与解密

    package com.app.common; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.Fi ...