文档章节

OC @property声明全局变量

JoshSone
 JoshSone
发布于 2016/08/16 23:21
字数 338
阅读 4
收藏 0

之前我介绍了set和get方法,但在实际操作时,我们会发现重复的代码量太大,如果有几十个成员变量要声明,那么就要对应有几十个set和get方法,为了免去手工书写set和get方法繁琐的代码,人民的英雄@property应运而生。

@property是编译器的指令,那么什么是编译器的指令呢?其实就是去告诉编译器要做什么啦~

@property 告诉编译声明实现set、get方法

这里出现了陌生的标识符 

我们简单的介绍一下

nonatomic 代表着线路安全

在手机还只有512M内存时,如果对属性加锁,那么手机运行速度就会变得非常慢,所以对属性一般都是不加锁的,这样的速度相对快很多,这个习惯延续到了今天。

strong和weak 代表内存管理。

直接赋值的如int double等,直接写成

@property (nonatomic)int age;

而对象(字符串)要用strong作为参数。

这样是不是方便很多了呢?

其实在xcode早期版本,@property只是声明set和get方法,实现它们还需要另一个指令@synthesize

但是@synthesize 已经消失在滚滚oc长河当中,当做了解就好。 

 

© 著作权归作者所有

共有 人打赏支持
下一篇: OC 封装
JoshSone
粉丝 7
博文 76
码字总数 32794
作品 0
长春
iOS工程师
私信 提问
IOS--set与get方法的理解

目的:为了能让类的成员变量正确的被外接访问,我们需要设置set和get方法。 用property就会自动生成get,set方法的过程中处理好retain,copy,release的关系,而且还可以在main中调用时使用 ja...

Mark_Jiang
2016/01/27
4.1K
0
OC学习之旅 (一) 内存管理及OC常用方法

最近学习OC,所以在博客写下自己的笔记. OC的基本: 1 id 相当于java的Object 代表任何对象. 所以id是关键字,不能用作变量!! 2 oc中使用"."符号是调用 int a =object.a 是调用的是 [object ge...

Jonson
2013/04/13
0
2
self.name&&&&_name一样&&&零碎知识点

不一样的 1.self.name 是一个方法 是setter或者getter方法 2.self.name 实现的时候考虑内存管理 3.kvo可以监听到 name只是一个普通的变量而已 --------------------------------------------...

走向未来
2015/10/24
29
0
OC常量、变量、属性及其特性

1.Objective-C中声明常量使用关键字const。如:const double PI = 3.1514; 2.Objective-C中变量可以分为成员变量、局部变量和全局变量(用的很少,尽量不要用)。 //————————---------...

hejunbinlan
2016/05/16
77
0
IOS,objective_C中用@interface和 @property 方式声明变量的区别

转自http://www.cnblogs.com/letmefly/archive/2012/07/20/2601338.html 一直有疑问,在objective_C中声明变量会有 2种方式,今天有空和网友讨论了下,并且自己查了stackoverflew后算是稍微弄...

AAAAdler
2012/12/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Flask框架web开发:零基础入门

Flask框架是Python开发的一个基于Werkzeug和Jinja 2的web开发微框架,它的优势就是极其简洁,但又非常灵活,而且容易学习和应用。因此Flask框架是Python新手快速开始web开发最好的选择,此外...

笔阁
7分钟前
0
0
VMware前路难测,多个厂家群雄逐鹿

在人们高谈Salesforce、亚马逊等新兴云计算厂商取得的成就时,以VMware、HPE和Cisco为代表的老牌厂商也在进行着自己的转型和变化,而且还取得一定的进展。以VMware为例,虚拟机巨头公布了第二...

linuxCool
10分钟前
0
0
什么是以太坊DAO?(一)

Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念。一般翻译为去中心化的自治组织。 “在区块链上,没有人知道你是一台冰箱”——理查德布朗 到目前为止,我们列出的所有...

geek12345
11分钟前
0
0
linux防火墙操作

一、.对于centos7自带的防火墙的相关指令 #停止firewall systemctl stop firewalld.service #禁止firewall开机启动 systemctl disable firewalld.service #查看firewall的状态 systemctl st......

张锦飞
13分钟前
0
0
Linux 磁盘与磁盘分区

  Linux 系统中所有的硬件设备都是通过文件的方式来表现和使用的,我们将这些文件称为设备文件,硬盘对应的设备文件一般被称为块设备文件。本文介绍磁盘设备在 Linux 系统中的表示方法以及...

SEOwhywhy
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部