问题标签 [declared-property]

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 投票
2 回答
92 浏览

objective-c - 在属性上设置属性会调用第一个属性的设置器吗?

如果一个类有一个属性的自定义设置器:

并且InnerClass本身有一个属性:

然后我会这样做:obj.text = @"Hello";这会激活OuterClass对象的setObj:方法吗?

0 投票
5 回答
2935 浏览

objective-c - 防止在公共接口中向 NSMutableArray 添加对象

我想在公共接口中保护对 NSMutableArray 的访问

我试图通过在公共接口中将属性定义为 NSArray 并在私有接口中定义为 NSMutableArray 来做到这一点,如下所示:

但这不起作用 - 所以我必须在公共接口 NSMutableArray 中定义属性:

目标是为 API 客户端提供对注释的只读访问权限以及addObject:对实现中方法的完全访问权限。

所以定义目标更清晰:

  1. 客户端应该可以访问属性作为 NSArray 而不能访问突变方法。
  2. 客户不应该有能力更新评论以指向新的价值。
  3. 该解决方案必须在不创建额外结构和数组复制的情况下完成。

所以简单的问题是是否有可能使属性的公共定义更通用(NSArray 而不是 NSMutableArray)。

有没有其他干净的方法可以达到目标,或者我必须在任何地方使用 NSMutableArray?

解析度

在查看了我最初的问题和答案后,我意识到我想在公共接口中使用更通用的类 NSArray 并在实现中使用 NSMutableArray - 但对于一个属性来说这是不可能的。所以答案是不可能的。

所以我将只使用 NSMutableArray 的单个属性,而不需要任何额外的保护。

但是,如果您真的更喜欢保护而不是简单和高效,我也会选择最合适的答案。

0 投票
4 回答
70 浏览

objective-c - 为什么在访问没有 self 的属性时有时会出现编译器错误?

我注意到在一些旧版本的 Xcode 中,你可以使用对象的属性而不是self很好。现在,当我尝试在没有 的情况下访问我的属性时,它给了我一个错误self,但是今天我正在编写这段代码,它工作正常,并且没有给我任何错误。

为什么会这样?为什么在这种情况下我不会收到错误消息?为什么在其他情况下会引发错误?为什么不能统一这种行为,应该怎么用?

0 投票
2 回答
109 浏览

performance - 三个属性与一个 NSDictionary 相比的内存效率

我想将一些数据传递给我的对象,我有两个选择。

关于记忆 - 什么更有效?声明三个属性或声明一个NSDictionary使用initWithCapacity:3

0 投票
4 回答
496 浏览

objective-c - BOOL ivar 是否应该是允许另一个类设置它的指针?

我的类有一个BOOL需要由另一个类设置的属性,所以我正在尝试使用指针。我正在为它声明一个属性,如下所示:

这是正确的方法吗?然后我只需像这样设置和访问值:

还是将其设置为可保留属性的正确方法?

0 投票
1 回答
69 浏览

objective-c - 为我的 Objective-C 类的用户强制执行复制语义

我有一个用于复制语义的 Objective-C 类。

它不是一成不变的,但是挂在ViewState实例上的所有东西都需要自己独特的副本。事实上,如果其他班级错误地尝试

我们最终会崩溃。

我们如何强制或鼓励客户端类使用正确的语义?

例如,在 C++ 中,我们可以禁止赋值

但是我们不能在 Objective-C 中做到这一点。对于相反的情况,我们想要禁止复制,我们可以记录错误或从copyWithZone:.

我如何才能要求复制语义,或者至少让未来的开发人员清楚他们想要使用复制语义?

0 投票
2 回答
761 浏览

cocoa-touch - 从 NSDictionary 中的值设置 NSObject 的属性

我想知道是否可以在不单独设置每个属性的情况下设置NSObjectfrom an的属性。NSDictionary

中的属性名称NSObjectNSDictionary.

有没有一种简单的方法可以做到这一点?

0 投票
4 回答
883 浏览

objective-c - 如果一个对象是另一个对象的合成属性,它会自动初始化吗?

当您在 Objective-C 中将一个对象作为另一个对象的属性时,它会在您使用时自动初始化@synthesize吗?

0 投票
1 回答
2046 浏览

variables - Autoit GUI,按下按钮时未声明变量

我仍在学习如何编写自己的 GUI 脚本。Koda 帮了我很大的忙,我一直在玩弄它,一次学习一点点。但是,我遇到了一个似乎无法解决的错误。我正在使用的当前 GUI 是一个用于更改游戏机器人设置的简单工具。这个 gui 应该有 5 个用于难度设置的按钮,以及一个用于机器人数量的复选框列表。

但是,当我选择难度级别、机器人编号并点击保存时,我收到此错误:

此行发生错误(最后的 botSAVE 按钮):

我认为按钮功能“Func numClick()”根据按下的按钮设置了这个变量,但显然我忽略了一些东西。希望这是一个简单的修复。有人看到可能导致此错误的原因吗?我已经在 autoitcsript 论坛上发布了这个问题,但他们似乎回避了游戏自动化脚本,所以我在那里并没有真正得到太多帮助。

- 如果有人看到我做错了什么,或者有一个链接到一个主题的链接,该主题涵盖了通过单击按钮声明变量,总是感谢帮助。我发现的唯一主题非常模糊,或者与我正在寻找的内容略有不同

0 投票
2 回答
552 浏览

objective-c - 覆盖属性以使其在子类中为只读

我想以UILabel这样一种方式进行子类化,即类的用户不能text直接通过label.text = @"foo". 相反,我想根据某些值从子类内部设置文本。

我尝试了什么:

平衡标签.h:

但是,我收到一条警告,告诉我我正在限制访问(就像我想要的那样),但是如果我尝试直接使用我的子类的对象text来设置,我不会收到任何编译时错误。text