问题标签 [key-value-coding]

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 投票
1 回答
601 浏览

objective-c - 使用 -setValue:forKey: vs "object.var = ..."

这两行代码的区别在于,第二行是 KVO 兼容的,而第一行不是?

我问的原因是因为我需要更新 500 多个对象的 60 个属性,我不希望 KVO 通知超过少数属性。

我正在为我的 UITableView 使用 NSFecthedResultsController 并且我不想在单元格上触发过多的 setNeedDisplay。

0 投票
2 回答
78 浏览

.net - 用于双向转换数据的.NET 容器?

我有转换表需要包含在内存中以便快速访问。到目前为止,我使用了一个简单Hashtable的键是内部代码,而值是一个包含外部代码和其他元数据的对象。

现在我们需要进行反向查找,即根据外部代码获取内部代码。我只能提出以下选项:

  1. 有另一个容器用于此查找,Hashtable 仅包含内部代码作为值,以防止更多冗余。
  2. 使用我现在使用的同一个容器,现在使用外部代码作为 Key 再次存储这些对象(具有防止冲突的前缀)。
  3. 不要使用 Keys 提取数据,而是遍历同一容器下包含的 Values 以找到请求的对象( O(n), same memory usage )。

容器正在延迟加载,因此选项 1 和 2 通常不会在最坏的情况下执行。

有人想吗?请告诉我有一些我可以使用的高效容器,我错过了!

* 编辑 *

作为一个 GC'd 框架,并接受我必须有两个转换数组(字典)的事实,以下代码行实际上是否意味着我在内存上只存储了一个对象,然后在两个不同的情况下为它存储了两个指针散列单元格?

伊塔马尔。

0 投票
3 回答
5340 浏览

cocoa - NSManagedObject 子类和 setValuesForKeysWithDictionary:

我正在NSManagedObject使用以下方法初始化一个子类:

我还故意给它未定义的键,这当然应该引发异常。

所以,我已经实现了:

如果键未定义,我将其映射到正确的键。

但是,我的实现永远不会被调用,而是NSManagedObject使用 的实现,这反过来仍然会引发异常。

是否存在阻止setValuesForKeysWithDictionary:使用任何子NSManagedObject类实现的行为(或错误) setValue:forUndefinedKey:

根据要求添加代码,但由于我只是在实现一个没有被调用的现有方法,所以我不知道它会有多大帮助:

在上下文中:

Company子类中(从未调用):

0 投票
1 回答
114 浏览

cocoa - KVC 按条件选择

我有一组从核心数据中选择的对象。我需要从与条件相对应的对象集中选择。怎么做?

0 投票
4 回答
18816 浏览

iphone - 如何使用键值编码判断对象是否存在键?

我想测试一个对象是否在 iPhone SDK 中有一个可写的@property。

一种可能的方法是检查 -valueForKey: 方法,但这似乎相当不雅!

例子:

有没有更好的方法来做到这一点?

0 投票
2 回答
7747 浏览

objective-c - 使用属性名称动态访问 Objective-C 属性

我知道对象属性的字符串名称。我将如何使用字符串获取和设置该属性?

0 投票
5 回答
8325 浏览

javascript - Javascript 对象键值编码。动态设置嵌套值

我正在开发一个小库,它可以让我对对象进行一些基本的键值编码。假设我有以下对象:

我有以下 JavaScript 函数:

并在使用中:

这可行,但是我想在不使用eval. 这是可能的,还是eval最好的方法?

编辑:

注意可以假设您设置的值存在,至少对于路径深度 - 1。我更关心设置现有对象的值。

0 投票
4 回答
1098 浏览

cocoa - Cocoa 绑定到数组中的单个对象

我之前将此问题发布为对相关线程的评论,认为这很简单。该线程在这里:

Cocoa 绑定到数组控制器中的特定项目

这些问题与我正在构建的一个游戏有关(我将在这里更全面地描述它),以尝试学习objective-c和cocoa。可以把它想象成德州扑克。一台服务器保存游戏信息并管理来自可变数量的客户端(总是不止一个)的输入。通过 cocoa 绑定,它使用 IB 中的数组控制器向每个玩家显示存储在服务器上的数组中的游戏公共信息。想象一下桌子上的五张卡片存储在服务器上的 NSArray 中,并绑定到每个客户端的 NSArrayController 的 content 字段。

这部分工作正常,就像一个魅力。但是,每个玩家都有两张需要保密的牌。每个客户应该根据发给特定玩家的牌显示不同的牌。(因为真正发生的是我绑定到一组玩家对象

想象所有卡片都存储在同一个数组中)。所以我的问题是,如何设置与数组控制器之外的单个对象的绑定(或者我是否需要其他控制器)?也就是说,我如何绑定到 thePlayers 数组的一个玩家?

0 投票
2 回答
2780 浏览

iphone - 核心数据和运行时键值编码

我的印象是,通过键值编码,我可以在运行时在 NSManagedObject 上设置任何未定义的属性,并且不会引发异常,但这将是一种方法来保存附加到模型中的不在数据模型中的对象。

例如,我有一个没有“bar”属性的 Foo 对象。我虽然在运行时,我可以这样设置:

然后,我希望 ManagedObjectContext 保持这个值,直到我稍后查询它,但是保存在 Managed Object Context 上不会存储 bar 值。

当我运行此代码时,著名的错误不断弹出:

..所以我的问题是:我没有得到什么或做错了什么?

0 投票
2 回答
777 浏览

objective-c - Objective C - 是否有一个键路径会导致对象返回自身?

给定类 Foo 的对象 foo,我想做以下事情:

并让 myObj 等于 foo。

有没有办法在 Foo 上不定义类别的情况下做到这一点?