Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >设置值-实例变量

设置值-实例变量
EN

Stack Overflow用户
提问于 2013-07-10 14:41:25
回答 1查看 83关注 0票数 3

我正在学习Objectice,并且我注意到我可以通过两种方式设置instace变量的值

代码语言:javascript
运行
AI代码解释
复制
@interface Foo : NSObject
  @property int x;
  -(void)print;
@end

@implementation Foo

 -(void)print
 {
   [self setX:10] // first way
   x = 10; // second way 
 }
@end

我个人更喜欢第一种方法,因为它看起来更清晰。在我的项目中使用第一种方法可以吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-10 14:44:03

您可以通过两种方式访问变量:

对self使用setter或getter。:

代码语言:javascript
运行
AI代码解释
复制
self.x = 10;
[self setX:10]

两者都是等同的,但苹果建议你将setter与self一起使用。

或者直接访问ivar。依瓦尔的名字取决于你如何合成它。如果使用默认合成(或者不自己合成),则如下所示:

代码语言:javascript
运行
AI代码解释
复制
_x = 10;

在您的示例中,第二种方法是直接访问ivar,第一种方法是使用setter (与self.x =10相同),

推荐使用第一种方法(使用self或使用setter),因为它可以解决内存问题,释放以前的值,保护线程,等等。而且使用self更舒服。而不是调用二传手。

只有在使用init方法时才使用ivar,其余的使用setter。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17573630

复制
相关文章
Jmeter变量设置
设置步骤: 选中请求——添加——前置处理器——用户参数 设置变量名称为user,值为51zxw
清风穆云
2021/08/09
2.1K0
Sass变量插值
程序员 NEO
2023/09/29
1710
Sass变量插值
less变量插值
程序员 NEO
2023/09/29
2300
less变量插值
Python类变量和实例变量区别
类变量:定义在类里面,通过类名或对象名引用,如果是通过对象名引用,会先找有没有这个同名的实例变量,如果没有,引用到的才是类变量,类变量的更新,只能通过类名,形如 类名.a = 55 ,不要指望通过实例引用类变量来更新类变量
王大力测试进阶之路
2019/10/25
1.5K0
为什么局部变量需要显式设置初始化值
我们在编程中,无时无刻地都在于方法打交道,而在方法中,我们很难不使用局部变量,比如我们有下面的这样一段很简单的代码
技术小黑屋
2018/09/05
7480
Shell 变量引用实例
初学 Shell 编程时,对变量各种引用使用不太熟悉,走了很多弯路,本文记录变量引用的一些用法,希望对大家有所帮助。
叨叨软件测试
2020/04/14
2.3K0
【CSS】CSS 背景设置 ③ ( 背景位置-长度值设置 | 背景位置-长度值方位值同时设置 )
文章目录 一、背景位置-长度值设置 二、背景位置-长度值方位值同时设置 三、完整代码示例 一、背景位置-长度值设置 ---- 长度值设置 效果展示 : 设置背景位置为具体值 10px 50px : 粉色区域是盒子的区域 , 图片背景位于盒子位置 x 轴方向 10 像素 , y 轴方向 50 像素 ; 在水平方向上 , 背景图片距离盒子左边界有 10 像素 , 在垂直距离上 , 背景图片距离盒子上边界有 50 像素 ; /* 设置背景位置 - x 轴方向 10 像素 , y 轴方向 50 像素 */ bac
韩曙亮
2023/03/30
2.9K0
【CSS】CSS 背景设置 ③ ( 背景位置-长度值设置 | 背景位置-长度值方位值同时设置 )
pytest + yaml 框架 -45.用例分层设置变量默认值
最近有小伙伴提到API层的接口参数很多,全部设置为变量,后面用例引用会写很多值,会很费精力。 希望能在定义变量的时候,给默认值,这样在用例里面可以选择性的给部分参数设置变量值。
上海-悠悠
2023/08/22
2170
pytest + yaml 框架 -45.用例分层设置变量默认值
pycharm 设置环境变量_电脑环境变量怎么设置
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/175266.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
4.5K0
pycharm 设置环境变量_电脑环境变量怎么设置
变量判断与设置
以上重点关注username=${username-root}这一行,这行中的-表示,当username变量不存在时,${username-root}返回的值是root,由于username不存在,所以最后username的值是root,在username=${username-peter}之前,我将username赋值为ric,由于username的值存在,所以最后username的值依然是ric。所以在${variable-str}中,-表示,当variable这个变量不存在时,整个表达式的值就是str,否则表达式的值是variable。注意,当变量variable是空字符串时依然表示变量是存在的。
我是李超人
2020/08/20
1K0
Linux DISPLAY 变量设置
在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下内容:
孙杰
2019/10/29
11.4K0
Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性
https://www.cnblogs.com/poloyy/p/15178423.html
小菠萝测试笔记
2022/03/23
1.4K0
Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性
opnet环境变量设置_类型变量
Objid是系统分配的对象识别号,全局唯一,整数。 user id是节点模型(对象的一种)的一个属性,由用户设置,不唯一。
全栈程序员站长
2022/11/16
7950
SQL文件 变量设置
特殊说明: 以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!
收心
2022/06/06
1.3K0
静态变量和实例变量的区别
静态变量是被static修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝;实例变量必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。静态变量可以实现让多个对象共享内存。
唐怀瑟
2018/08/30
1.2K0
python类成员变量和实例成员变量
print 'need %f hour(s)'% (distance/self.speed)
用户7886150
2020/12/20
1.5K0
PyQt5 技术篇-QSpinBox选值框值改变触发事件实例演示,获取QSpinBox组件的值,选值框的边界值设置方法
QSpinBox 组件值改变会触发 valueChanged 事件。 # 最大、最小值设置 self.spinBox.setMinimum(1) self.spinBox.setMaximum(3) # 值改变会触发 valueChanged 事件 self.spinBox.valueChanged.connect(self.change_table) # 读取选值框里的值 def change_table(self): print(self.spinBox.value()) 实例效果图展示:
小蓝枣
2021/12/01
2.5K0
PyQt5 技术篇-QSpinBox选值框值改变触发事件实例演示,获取QSpinBox组件的值,选值框的边界值设置方法
【Python】类型注解 ② ( 基础变量设置类型注解 | 类对象设置类型注解 | 容器变量设置简易类型注解 | 容器变量设置详细类型注解 )
元组 数据容器类型 的 详细 类型注解 , 需要为每个元素都进行类型标记 , 有几个元素就要标记几个类型 ;
韩曙亮
2023/10/11
2610
【Python】类型注解 ② ( 基础变量设置类型注解 | 类对象设置类型注解 | 容器变量设置简易类型注解 | 容器变量设置详细类型注解 )
点击加载更多

相似问题

设置实例变量param值

35

动态设置实例变量的值

10

如何为实例变量设置默认值?

25

直接设置实例变量?

14

copyWithZone设置实例变量?

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档