文档章节

OC的@property和@synthesize

我爱觉觉
 我爱觉觉
发布于 2015/10/20 11:04
字数 213
阅读 33
收藏 0


1. 成员变量和属性的区别。

@interface User : NSObject

{

    int _height; // 成员变量,不会自动生成setter 和getter方法。

}


@property (strong, nonatomic) NSString *uid; // 属性。 会自动生成setter和getter方法。

@property (assign, nonatomic) int age;


2. 

@property 和 @synthesize 

  声明一个setter getter 方法
@synthesize 实现setter getter 方法

在Xcode4.5及以后的版本中,可以省略@synthesize ,编译器会自动帮你加上getter 和 setter 方法的实现,并且默认会去访问_age这个成员变量,如果找不到_age这个成员变量,会自动生成一个叫做 _age私有成员变量。

如果加了 

@synthesize age; 则可以使用age的成员变量。


3. 由于书写习惯,OC中定义成员变量的时候,习惯写 _age 的这种形式。




© 著作权归作者所有

共有 人打赏支持
我爱觉觉
粉丝 2
博文 49
码字总数 10640
作品 0
海淀
私信 提问
OC学习之旅 (一) 内存管理及OC常用方法

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

Jonson
2013/04/13
0
2
iOS成员属性和成员变量的区别

一、@property 和@synthesizer 在objective-c 1.0中,我们为interface同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如: 在o...

朝雨晚风
2016/08/12
0
0
OC语言@property @synthesize和id

OC语言@property @synthesize 和id 一、@property @synthesize 关键字 注意:这两个关键字是编译器特性,让xcode可以自动生成getter和setter的声明和实现。 (一)@property 关键字 @propert...

法斗斗
2016/02/24
7
0
IOS--set与get方法的理解

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

Mark_Jiang
2016/01/27
4.1K
0
OC @property声明全局变量

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

JoshSone
2016/08/16
2
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 以后我偷小鱼干养你

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @庞巴哥 :只有这节奏瞬间变得轻松。。。。。。。。。分享Talking Eyes的单曲《In the sun (Extended Version)》: 《In the sun (Extended Ve...

小小编辑
10分钟前
0
0
多表查询

第1章 多表关系实战 1.1 实战1:省和市  方案1:多张表,一对多  方案2:一张表,自关联一对多 1.2 实战2:用户和角色 (比如演员和扮演人物)  多对多关系 1.3 实战3:角色和权限 (比如...

stars永恒
今天
7
0
求推广,德邦快递坑人!!!!

完全没想好怎么来吐槽自己这次苦逼的德邦物流过程了,只好来记一个流水账。 从寄快递开始: 2019年1月15日从 德邦物流 微信小app上下单,截图如下: 可笑的是什么,我预约的是17号上门收件,...

o0无忧亦无怖
昨天
7
0
Mac Vim配置

1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下...

Pasenger
昨天
8
0
vmware安装Ubuntu上不了网?上网了安装不了net-tools,无法执行ifconfig?

1.重新设置网络适配器还是不行,如下指定nat 2.还需要指定共享网络,我是在无线环境下 3.无法执行ifconfig https://packages.ubuntu.com/bionic/net-tools到这个网站下载net-tools的deb文件...

noob_chr
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部