问题标签 [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 回答
904 浏览

iphone - iPhone键值编码——测试键是否存在

iPhone键值编码是否有办法测试一个类是否会接受给定的键?

也就是说,在不实现目标类的 valueForUndefinedKey: 或 setValue: forUndefinedKey: 方法的情况下,我希望能够执行以下操作:

0 投票
2 回答
636 浏览

iphone - 核心数据:访问属性的两种不同方式,只有一种有效

对于以下代码,在下面的两个注释之前的行中,只有第一个有效。

第二次返回和错误

0 投票
3 回答
142 浏览

objective-c - 添加缺失对象以创建有序集合

主题很模糊,因为我不确定如何用一句话表达我想要什么。

开始:

我有一个 NSDictionaries 的 NSArray。每个 NSDictionary 代表日历年的一天。每个 NSDictionary 都有一个值为 NSDate 的键“日期”。数组中应该有 365 个 NSDictionary 项。字典是由我无法控制的服务器创建的,有时它会丢失多达 100 天。

我需要确保数组有 365 个字典,每一天都比下一天晚。

我目前按日期对数组进行排序,遍历它,将 NSDictionaries 从当前数组复制到一个新数组。这样做时,我将当前字典的日期值与下一个字典的日期值进行比较。如果两个日期之间的时间超过一天,我会在新数组中添加足够的新字典来覆盖那些缺失的日期(并相应地设置它们的日期),然后继续。

由于日期应该是有序的,我想知道框架或语言中是否还没有一种机制可以用来说“这是一个数组,这个键路径应该是连续的。查找并创建以下元素丢失,这里有一个块或方法可以用来初始化它们”。

关于我的方法的某些东西感觉实施得不好,所以我求助于你。想法?

谢谢。

0 投票
3 回答
497 浏览

.net - 有没有类似于 AutoMapper for Objective-c 的东西?

AutoMapper for .Net 允许您从一种类型映射到另一种类型。它最基本的功能是通过复制类型 A 中存在于类型 B 中的属性值(具有匹配的名称和类型),从另一种类型的类中创建一种类型的类。

例子:

Objective-C 有类似的东西吗?

0 投票
1 回答
153 浏览

objective-c - 在多个属性更改时执行操作

我有三个不同的属性,x,y,z。如果它们都变成 nil,我需要采取行动,如果其中一个被设置为值!= nil,我必须执行不同的行动。

我目前的实现如下:

它有效,但我希望有一个更容易和更好的解决方案来解决我目前忽略的问题。打我!

0 投票
2 回答
1225 浏览

objective-c - 在 cocoa 中定义自己的关键路径运算符

是否可以定义自己的关键路径运算符,例如@avg、@sum 等……</p>

0 投票
1 回答
685 浏览

iphone - ExecuteFetchRequest 间歇性地抛出具有相同参数的异常。“不符合键的键值编码”

编辑感谢马特的帖子,我现在明白我不应该尝试以数组的形式访问“开始”。但是,如果是这种情况,我想知道为什么这段代码似乎在其他地方工作。在我看来,这仍然应该是“一个或另一个”。它应该工作或不应该工作。

原始 我在代码的各个部分使用相同的获取请求来查找最新的游戏:

'Game' 是一个 NSManagedObject,'started' 是一个日期属性。'started' 在 awakeFromInsert 中为每个对象设置一次。之后就再也没有改变过。游戏从不直接实例化,但它有三个子类。我曾尝试让 Game 既抽象又具体,但对这个问题都没有任何影响。

我正在使用 NSManagedObjectContext 类别来执行提取,如 cocoa with love http://cocoawithlove.com/2008/03/core-data-one-line-fetch.html所示。

我得到的错误如下:

在我看来,谓词可能试图将@max 应用于单个 NSDate,而不是所有游戏中的所有“开始”属性。不过我不确定。我对谓词不是很好,我花了很多时间来做这个。不过,我不明白完全相同的提取如何在不同的地方出现错误。

fetch 不是 NSFetchedResultsController 的一部分,但我在出现错误的类中使用了 fetchedResultsController。例如:

还有这里:

这种精确的提取在几个地方执行了多次,例如在启动时,但它只在一个类中崩溃。正如我所说,它是间歇性的,但似乎是在我创建一个新的 Game 对象之后的某个时间。游戏是在一个选项卡中创建的,上面的代码来自显示历史的第二个选项卡。

我在这里看到了类似的错误。在这种情况下,通过重新启动计算机解决了问题,这最终让 XCode 意识到该属性已从模型中删除。我已经尝试过了,但我仍然遇到问题。我还尝试删除并重新创建模型中的“开始”属性。我还阅读了核心数据故障排除指南,但也无法在那里找到任何帮助。

0 投票
1 回答
2958 浏览

core-data - -primitiveValueForKey: 的意义何在?

-setPrimitiveValue:forKey:不会触发 KVO 通知。但在我的脑海中,KVO 只有在发生变化时才有意义。但是,当我仅访问它以进行读取时,如何更改某些内容?

-primitiveValueForKey:只获取某个键的对象。但它不会修改它。那么为什么在使用时会/可能会导致 KVO 通知-valueForKey:

(当然有一点,但我还没有看到。)

0 投票
3 回答
113 浏览

cocoa - 将属性访问器转发到 ivar 的方法

我有一个详细说明所选表格行的面板。显然,面板的显示经常需要更新,我已经将该任务推到了 NSWindowController 子类中。

我希望自定义 NSWindowController 具有@propertys 用于文本字段中的字符串值和 NSImageViews 中的图像值之类的东西。因为我不需要访问器中的新代码,所以我想要@synthesize它们。不幸的是(对我来说),没有选项可以在@synthesize property=ivar.

显而易见的解决方案是编写我自己的表单访问器

但我宁愿不必为几个属性中的每一个手动执行此操作。

有没有更简单的方法?也许是设置属性以转发到objectValue另一个对象的特定属性(除了等实际上不是正确的属性)的通用方法?

0 投票
3 回答
18563 浏览

iphone - 在 Objective-C 中直接访问嵌套字典值

有没有办法在 Objective-C 中直接访问外部数组的内部数组?例如,对外部数据源的调用会返回以下对象:

例如,我希望能够访问 location.name 或 metadata.pictures.picture 数据。然而,点符号似乎不起作用。例如:

我能够访问这些数据的唯一方法是首先将内部数组的内容设置为对象。想法?