问题标签 [nsvaluetransformer]

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 回答
382 浏览

macos - 带有网络图像的 NSCollectionView

我有一个NSCollectionView其中一个子视图是NSImageView. 实际图像需要在通过 API 调用后从网络服务器加载(实际上是两个网络请求)。显然我需要异步加载图像。我可以将NSImageView' 的值绑定到NSValueTransformer将模型 id 转换为 的NSImage,但是如何实现NSValueTransformer?它希望立即从它的transformedValue:方法返回,而我只能在那里触发网络请求。我不想使用同步网络阻塞线程。

0 投票
1 回答
156 浏览

ios - 如何捕获 CoreData 警告?

我正在练习 BDD。我有一个名为的实体Foobar,它包含一个名为 的可转换属性quux,我已将其指定(使用 Core Data 模型编辑器)为QuuxToBazTransformer. 重点是,QuuxToBazTransformer不存在。Core Data 应该无法通过我的测试并告诉我需要实现它。

令人惊讶的是,测试通过了:我的Foobar似乎已经被存储了,Core Data 只告诉我一个警告

如何捕获此警告并使其测试失败?

0 投票
1 回答
119 浏览

cocoa - 如何将 NSPopUpButton 与测量单位选择连接到 NSTextField 的呈现方式?

在核心数据实体中,我有一个“长度”属性。我以厘米为单位保存长度。

我想让用户可以查看和编辑以厘米或英寸为单位的长度。所以我在 NSPopUpButton 旁边放置了一个 NSTextField ,并选择了厘米和英寸。

根据 NSPopUpButton 的选择格式化 NSTextField 的最佳方法是什么?如果这个问题是合理的,我希望尽可能多地使用绑定。

我看到有

  • NSNumberFormatters 和
  • NSValueTransformers

或者我可以编写自定义代码来转换单位?

解决这个问题的最优雅的方法是什么?

0 投票
0 回答
465 浏览

ios - 使用 Mantle 从 JSON 数组创建自定义 NSString

我正在使用Mantle解析一些业务 JSON。目前,我们通过以下业务类别的 JSON 对象数组:

如果 's' 然后将字符串附加到一个字符串中,则此循环遍历类别数组会删除最后一个字母。

这是目前完成的cellForRowAt..,我觉得这不是做这类工作的正确地方。

我想做的是将这些数据解析为最初使用 Mantle 创建的业务模型的字符串,而不是为每个单元完成此操作。

问题
如何根据我们上面的当前工作创建自定义 NSValueTransformer 来将 JSON 数组转换为模型上的字符串?

0 投票
1 回答
71 浏览

objective-c - 来自某个枚举/整数值的 NSImage 的 NSValueTransformerClass

如何使用可转换类来绑定NSImageViewin NSTableView

有一个 type 的标志enum,基于该图像需要更改。

0 投票
1 回答
771 浏览

ios - 无法在 NSValueTransformer 中调用transformedValue

有我的实施NSValueTransformer

我在运行时注册它

我将我的字段标记为可变形

在此处输入图像描述

我的 MO 中有一个属性

我究竟做错了什么?transformedValue不叫。

0 投票
1 回答
339 浏览

objective-c - 访问核心数据中可转换属性的原始 NSData

在我的模型中,我有一个transformingString使用“Transformable”类型将 NSString 对象存储为 NSData 的属性。在我的代码中,我在 NSManagedObject 中有一个 NSString 作为动态属性,访问该属性会自动调用值转换器以从 NSData 转换为 NSString。

不过,在某些情况下,我想在我的代码中访问原始 NSData,而不调用 NSValueTransformer,因此我可以针对某些极端情况以不同的方式处理 NSData。我怎样才能做到这一点?我认为没有任何方法可以关闭我的 Core Data 模型的 Transformable 类型。我希望有某种方法可以直接访问传递给转换器的原始 NSData 。

我已经尝试过[self primitiveValueForKey: @"transformingString"],但这也调用了 NSValueTransformer 并返回 NSString 类型。有没有办法做到这一点?

0 投票
2 回答
5529 浏览

xcode - 使用 swift 在 xcode 6 中自定义 NSValueTransformer

有没有人用 swift 在 xcode 6 beta 中成功实现了自定义 NSValueTransformer?

我有以下快速课程:

所以这个转换器应该做的就是将 100 添加到 gui 中的给定值。

如您所见,转换器类现在出现在 IB 的 Value Transformer 下拉列表中。

在此处输入图像描述

但是如果我选择这个转换器,应用程序会崩溃:

在 AppDelegate 中注册这个转换器是否正确

有谁知道这整个东西应该如何工作?

亲切的问候!马丁

0 投票
3 回答
344 浏览

ios - RestKit valueTransformer 未被调用

我正在使用 RestKit 与我的 JSON 端点通信。端点返回以“毫秒数”为单位的 UNIX 时间戳。但是 RestKit 的默认转换器假定它是“秒数”,我在 NSDate 中得到了错误的值。

于是我环顾四周,发现我需要使用自定义的 valueTransformer 来告诉 RestKit 如何转换我的时间戳。这是我的代码。

然后我将此转换器添加到 RestKit 的默认转换器。

但是,我的变压器永远不会被调用。我写在里面的NSLog语句永远不会被执行!


所以然后我尝试了这个——像这样在attributeMapping上写一个转换器:

但是当我这样做时,代码不会编译。它说“在 'RKAttributeMapping *' 类型的对象上找不到属性 valueTransformer”。我不明白这一点。我在互联网上看到的所有示例,包括带有RestKit 文档的示例,都说了同样的话。所有示例都设置对象的valueTransformer属性AttributeMapping。甚至RestKit 类参考也说我可以设置它。但是为什么它不编译呢?

0 投票
2 回答
272 浏览

objective-c - Cocoa 绑定 - NSTableView - 交换值

NSValueTransform 子类是在 UI 视图中显示核心数据属性的好选择吗?

  1. 像 (0,1,2,3,etc) 这样的数字字符串变成像 (Pending, Completed, Frozen, In progress, etc) 这样的字符串
  2. 将 (0,1) 之类的数字字符串转换为基于应用程序的图像(如果为 0,则为 red.png,如果为 1,则为 green.png)

下面是 Core Data 显示的两个属性,timer 和 status:

在此处输入图像描述

这是我想要显示的内容,而不更改 Core Data 中的值:

在此处输入图像描述

如果不使用 NSValueTransformer,还有什么其他可能的方式?

我不想看到数据永久转换,只是为了减少存储在 Core Data 中的数据和更好的 UI 视图项。

我还尝试修改托管对象类中的属性(没有 KVO 通知),但没有成功。