实例变量和属性 实例变量和类变量

在IOS编程中,很多人没有理解实例变量与属性的区别,我根据自己的经验,这这里与大家分享下这里面的区别,下面我写一个简单的例子:

.h

@interface MyController :UIViewController

{

  UILabel *_myLabel;//这里是实例变量声明

}

@property (nonatomic, retain) UILabel*myLabel;//这里是你的属性声明

@end

.m

@implementation MyController

@synthesize myLabel = _myLabel;

...

@end

相信大家都看到过这样的程序,但我们一般写的程序是下面这样子的:

.h

@interface MyController :UIViewController

{

  UILabel *myLabel;//这里是实例变量声明

}

@property (nonatomic, retain) UILabel*myLabel;//这里是你的属性声明

@end

.m

@implementation MyController
实例变量和属性 实例变量和类变量

@synthesize myLabel;

...

@end

其实,实例变量跟属性在cocoa里面应该是分开的,而下面这种我们平时写的这种代码因为实力变量跟属性是同一个名字,所以就不用使用等号来把实例变量赋值给属性了,实例变量一般是用在一个类的内部,而我们平时用的时候会在其他的类里面创建另一个类的对象,比如我们想改变我们上面创建的这个类的myLabel的text属性,这时,我们使用的是什么呢?要讲清楚这个问题,使用我们最上面的那段代码是最好的 ,现在我们假设已经创建了MyController的一个对象,叫做myController,要改变myLabel的text应该如下:

myController.myLabel.text =@"这是改变了之后的内容";

看清楚,这里使用的是myLabel(属性),不是_myLabel(实例变量),在MyController这个类里面"self."的时候也只能属性,实例变量都是assign类型的,你需要直接alloc内存赋值给它,同样在最后dealloc里面的release的也是实例变量而非属性,属性其实就是在外部或者内部调用时候使用实例变量的一种方式(个人理解),而真正占用内存的却是实例变量。

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/284931.html

更多阅读

使用垂直鼠标真实感受 手臂吸脂真实感受

多彩鼠标(多彩)优点:①独创极致垂直人体工学设计,外观时尚,造型独特,注重细节(人性化),性价比高;②按键布局合理,类似“飞行摇杆”单手即可完全掌控,操控和握感比一般鼠标更稳定;③鼠标表面采用烤漆和类肤材质,软硬搭配布局合理,掌心位置、掌托条

拔火罐注意事项:拔火罐的三大误区

中医认为拔火罐可以疏通经络,调整气血。现代医学认为,拔火罐治疗时罐内形成的负压作用,使局部毛细血管充血甚至破裂,红细胞破裂,表皮淤血,出现自家溶血现象,随即产生一种组胺和类组胺的物质,随体液周流全身,刺激各个器官,增强其功能活动,能提

2015.4.5日老马夜聊 老马夜聊论剑隐轰篇

2015.4.5日老马夜聊存贷款利率市场化,社保投资渠道多元化等等利好消息很多,但如果是小牛行情的话普通散户可要警惕机构高位抛盘的动作啦我们要努力把自己培养成资深的理财好手,让自己的本金增值速度跑赢通胀,制定一个资产配置合理的

MFC实习的QQ游戏“大家来找茬”游戏辅助工具的实现

转载请注明出处:这段时间GF一直在玩QQ找茬,看了一下,原理很简单,就是找到2附图片的不同之处,那么程序的思路也就很明了了,就是抓图,存入buffer,比较,显示,这么一个过程。闲话不多说了,下面我用MFC来实现它。首先先要拿到QQ找茬从窗口的句柄,拿到

JSPtag简要教程 jsp向tag文件传值

在JSP2.0中,对于自定义的标签有两种实现方法,实现接口或者继承现有的类如下图,标注蓝色的是接口,其它是标签类(SimpleTagSupport只在JSP2.0中才有)在以上接口和类中,定义了一些静态

声明:《实例变量和属性 实例变量和类变量》为网友旧脸谱分享!如侵犯到您的合法权益请联系我们删除