上一篇文章我有讲到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. Oracle导入excel数据快速方法

    Oracle导入excel数据快速方法 使用PLSQL  Developer工具,这个可是大名鼎鼎的Oracle  DBA最常使用的工具.    在单个文件不大的情况下(少于100000行),并且目的 ...

  2. Node.js 笔记(一) nodejs、npm、express安装

    Windows平台下的node.js安装 直接去nodejs的官网http://nodejs.org/上下载nodejs安装程序,双击安装就可以了 测试安装是否成功: 在命令行输入 node –v 应 ...

  3. 【转】开发者可以使用Docker做什么?

    有些开发者可能还是不明白 Docker 对自己到底有多大的用处,因此翻译 Docker 个人用例 这篇文章中来介绍 Docker 在普通开发者开发过程中的用例. Docker 如今赢得了许多关注,很多 ...

  4. CSS外框高度自动适应

    当有浮动float时,最外框会不跟随内容的高度而高: 解决办法一:清除浮动  clear:both <!DOCTYPE html> <html xmlns="http:// ...

  5. vCenter 5.1 U1 Installation: Part 9 (vCenter SSO Configuration)

    http://www.derekseaman.com/2012/09/vmware-vcenter-51-installation-part-9.html In this installment of ...

  6. Windows中snmputil.exe工具的使用

    一.检查windows 系统是否安装了 snmp 组件.可以在 cmd 中输入"net start snmp" 就可以出现显示信息了 二. snmputil,就是程序名拉,呵呵. ...

  7. Spring MVC 实现文件的上传和下载

    前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:“用什么技术来实现一般网页上文件的上传和下载?是框架还是Java中的IO流”.我回复他说:“使用Spring MVC框架可以做到这一点,因为Spri ...

  8. [转]mysql组合索引与字段顺序

    下列转自:http://www.tech-q.cn/archiver/tid-11673.html 很多时候,我们在mysql中创建了索引,但是某些查询还是很慢,根本就没有使用到索引!一般来说,可能是 ...

  9. MySQL 数据类型的简单选择

    选择合适的数据类型:char和varchar: +---------+------------+ | char(6) | varchar(6) | +---------+------------+ | ...

  10. 在Ubuntu上安装pyenv 相关问题Common build problems

    Requirements: Ubuntu/Debian: sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libb ...