问题标签 [instance-variables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
54700 浏览

objective-c - 如何制作真正的私有实例变量?

我想创建一个无法从外部访问的实例变量。在objective-c中可能会有这样的事情吗?我记得苹果有私有变量之类的东西,但如果人们知道它们,他们就可以使用它们。Apple 称其为“私有 API”,但显然其他人如果发现其中的内容,就可以访问这些内容。

到目前为止,我相信这样的事情会创建一个私有实例变量:

没有@property,没有@synthesize,只是上面的声明。

我也知道 Apple 添加了一个 _inFrontOfTheirPrivateInstanceVariables,但他们在某处说他们不喜欢看到其他人这样做,因为他们可能会在这样做时覆盖意外隐藏的实例变量。

这里有什么诀窍?

0 投票
2 回答
11125 浏览

ruby-on-rails - 为什么我的控制器的实例变量在视图中不起作用(Rails)

我想向我的控制器添加几个实例变量,因为有问题的变量需要在多个操作的视图中。然而,下面的例子并没有像我预期的那样工作。

据我了解,Rails 从控制器中获取实例变量并使其在视图中可用。如果我在动作方法中分配相同的变量,它工作正常 - 但我不想做两次。为什么我的方法行不通?

(注意:这是一个有点垃圾的例子,但我希望它有意义)

编辑:我在这里找到了这个问题的答案:Ruby 实例变量何时设置?

编辑 2:什么时候是使用过滤器(例如 before_filter 和 initialize 方法)的最佳时间?

0 投票
4 回答
925 浏览

objective-c - 从描述方法输出iVars?

我很确定我只是在这里错过了重点并感到困惑。谁能告诉我如何为一个对象编写一个简单的描述,将其实例变量的值打印到控制台。

另外:是否无论如何将信息呈现为一个块(即,如果您有 10 个 iVar,让它们一个一个返回会很痛苦)

干杯-加里-

0 投票
2 回答
906 浏览

iphone - Objective C - 访问指向自身的 void 指针的 BOOL ivar

我有一个使用 SystemSoundID 播放声音的东西,然后重复使用 C 函数作为声音完成回调,并传递该函数(void *)self(因为它必须是一个 void 指针),然后我想播放如果 self 的 alarmPlaying BOOL ivar 为 true,则再次发出声音,否则删除声音完成并处理 SSID(提供实例方法将 alarmPlaying 设置为 NO)。self以 void 指针的形式获取它的 alarmPlaying ivar的正确方法是什么?如果我不需要,使用属性是没有意义的。我不断收到错误Request for member 'alarmPlaying' in something not a structure or union,以及取消引用 void 指针警告。这是我的功能:

(它在自己的线程上运行,所以我有一个 kAlarmBeepInterval #define'd)

在实施课程时,我有:

谢谢。

0 投票
4 回答
4745 浏览

python - 常量实例变量?

@property用来确保对对象实例变量的更改由我需要的方法包装。

当一个实例有一个逻辑上不应该改变的变量时怎么办?例如,如果我正在为 Process 创建一个类,则每个 Process 实例都应该有一个 PID 属性,该属性将经常被访问但不应更改。

处理试图修改该实例变量的人的最 Pythonic 方式是什么?

  • 只是相信用户不要试图改变他们不应该改变的东西吗?

  • 如果实例变量被更改,使用属性但引发异常?

  • 还有什么?

0 投票
4 回答
4205 浏览

ruby - 新手:ruby 中的实例变量?

请原谅所有新手的问题,但为什么@game_score 总是为零?

0 投票
5 回答
21194 浏览

objective-c - Objective-C 中的属性和实例变量

我对 Objective-C 中的属性和实例变量感到很困惑。

我已经完成了 Aaron Hillegass 的“Mac OS X 的 Cocoa 编程”的一半,一切都是合乎逻辑的。你会声明一个像这样的类:

  • 由于其他对象需要操作我们的nameitems实例变量,我们使用@property/@synthesize为它们生成访问器/修改器。在我们的类中,我们不使用访问器/修改器——我们只是直接与实例变量交互。

  • something只是我们将在我们的类中使用的一个实例变量,由于没有其他人需要使用它,我们不会为它创建一对访问器和修改器。

  • 我们需要与 UI 中的文本字段进行交互,因此我们IBOutlet为它声明一个,连接它,我们就完成了。

一切都非常合乎逻辑。

然而,在 iPhone 世界中,情况似乎有所不同。人们为每个实例变量声明属性,为 声明属性IBOutlets,并使用访问器/修改器与类中的实例变量进行交互例如,他们会编写[self setName:@"Test"]而不是name = @"Test")。

为什么?到底是怎么回事?这些差异是 iPhone 特有的吗?为所有实例变量声明属性、为 声明属性IBOutlets以及在您自己的类中使用访问器/修改器有什么好处?

0 投票
4 回答
8550 浏览

ruby - 声明迭代哈希的实例变量!

我想做以下事情:

我想声明一个遍历字典的类的实例变量。

假设我有这个哈希

我想让每个键作为类的实例变量。我想知道我是否可以声明遍历该哈希的变量。像这样的东西:

我知道这行不通!我只是放了这段代码,看看你是否能更清楚地理解我想要什么。

谢谢!

0 投票
5 回答
713 浏览

iphone - 在类级别声明对象,问题。iPhone 目标-C

iPhone 上的目标 C:我试图在类级别声明以下对象,这样我就不必在每次写东西时都重新连接这个套接字。(每秒写多次)每当我写一个稳定的实时数据流时,它大约每 2 秒冻结一次。我不知道为什么,但确实如此。

代码:

我尝试在实例数据中声明变量,然后在 +initialize 和 viewdidload 中对其进行初始化,但没有成功或出现错误。我已经搜索了几个小时试图找到一种方法来解决这个问题,在大约 20 种不同的解决方案之后,我发现没有一个可行。顺便说一下,socket 是来自于objective-c 的smallsockets 包中的一个对象。

小套接字:http ://smallsockets.sourceforge.net/

它工作得很好,除了每隔几秒钟冻结一次实时数据。我已将部分代码缩小到这两行。我知道创建然后连接套接字是导致延迟的原因。

任何帮助都非常感谢。

谢谢!!

[编辑]

这是我尝试的一些示例代码:实例声明:

viewDidLoad:

备用视图didload:

0 投票
6 回答
42283 浏览

ruby - 实例变量:self vs @

这是一些代码:

我想知道的是 using@ageself.ageinage_difference_with方法之间的区别。