问题标签 [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.
ios - transformValueClass 返回 AnyObject 类型的数组
我正在尝试实现NSValueTransformer
名为ArrayValueTransformer
的类,该类旨在转换一个可以包含任何类型对象的数组,如下所示:
但是 return 语句给出了这个错误:
ios - Mantle - 将字符串转换为枚举值
在我的User
课堂上,我定义了一个type
属性和一个UserType
枚举。该type
属性作为String
JSON 中的值接收:
我想分别在序列化和反序列化期间Mantle
将String
值转换为UserType
枚举对象并返回到一个。String
我搜索了其他 SO 帖子和 Mantle 文档,但无法正常工作。这是我的尝试:
在上面的代码中,我制作了一个自定义转换器,用于将 a 转换为String
枚举UserType
值并返回。我已经覆盖Mantle's
JSONTransformerForKey
了方法并为type
属性指定了我的自定义转换器以执行转换。当我尝试将 JSON 序列化为User
对象时,我收到以下错误消息:
type
显然是User
模型的一个属性,但正在发生的事情导致Mantle
无法识别它。
我应该在我的实现中进行哪些更改才能使String
to enum 转换起作用?提前感谢您的帮助!
ios - Mantle - 在 Swift 中转换嵌套模型
我在使用 Mantle 在 Swift 中反序列化和序列化嵌套模型时遇到了很多麻烦。我相信我已经正确设置了一切,但我什至无法克服编译错误。为了给出一些观点,我已经成功地转换了没有嵌套模型对象的类。这是我的课:
这段代码不会编译,我也无法编译。这是我收到的错误消息:
我尝试将反向块的返回类型更改为Person
and Person!
,但我收到相同的错误消息。我已经为此苦苦挣扎了很长一段时间,在 Swift 中找不到工作示例,因此将不胜感激。
ios - NSValueTransformer + MagicalRecord + Mogenerator
在我的 ManagedObjectContext 上调用 save:(NSErrro **) 时,我无法调用我的 NSValueTransformer 实现。
我已经尝试通过拧我自己的 ManagedObject-Class 而不依赖于 Mogenerator 来解决这个问题,但没有任何成功。
这是我的 NSValueTransformer-Subclass (不会命中任何断点):
这就是我创建模型和保存上下文的方式。我还尝试使用 MR_create 和 MR_saveToPersistentStoreCoordinator-Methodes 进行装箱和保存,但没有任何成功。
为什么将实体保存到持久存储协调器时核心数据不执行我的 NSValueTransformer 代码?
ios - iOS 核心数据加密使用 NSValueTransformer
我正在尝试使用 Core Data 和 CommonCrypto 加密数据。我正在尝试使用 NSValueTransformer 懒惰地加密和解密。
但是,当我现在尝试将加密数据保存到持久存储协调器时,它失败了。每次我试图将我的数据保存到数据库时,它都会给我:
-[__NSCFString bytes]: 无法识别的选择器发送到实例
我确定这是某种数据库和 NSManagedObject 不匹配,但我无法弄清楚。我觉得这可能很简单,但我找不到解决方案。我的代码:
NSValueTransformer
为了让 NSValueTransformer 工作,我必须做的是:
如果没有上面的代码,就永远不会调用 NSValueTransformer。
我已将数据库字段标记为可转换类型并将其命名为:TryHardEncryption。你们知道这里有什么问题吗?
编辑 它所涉及的属性是:
当我调试它们时,加密和解密函数都返回一个字符串。
swift - 使用 ValueTransformer 将 UIColor 存储在 Core Data 中
我正在尝试将 UIColor 存储在 Core Data 中(我不想将其存储为字符串),我想使用 NSValueTransformer。我已经编写了下一个 ValueTransformerclass(toHex(),它是我将颜色转换为十六进制字符串的扩展),但是每次当我尝试保存数据时(例如object.color = UIColor.blackColor()
),我都会收到崩溃并显示无法读取的错误消息 «Unrecognized selector sent to 0xf93»。
swift - 在哪里为 Swift 中的核心数据实现 NSValueTransformer
我正在尝试将实体放在每个具有非标准数据类型的核心数据存储中 - 一个是 NSDocument,另一个是 NSURL。我在 .xcdatamodeld 中得到了这一点,我需要将它们声明为可转换的。而且我认为我需要添加一些实现 NSValueTransformer 的东西来将它们变成 NSData (......或者是否有一个默认的转换器会自动执行此操作?)
我认为这个问题应该很容易回答:我在哪里实现它?我还没有找到在 Swift 中执行此操作的明确示例。有一个Objective-C 的例子,但是 .h 和 .m 文件的分离让我不清楚这在 Swift 中会去哪里。
假设我有一个名为 Notebook 的实体类型,其属性名为 folderURL - 在数据库中属于 Transformable 类型,在实际变量中属于 NSURL 类型。(我使用它作为示例,因为它更简单 - 请不要告诉我只是将 NSURL 转换为字符串,因为这不适用于其他 Transformable。)
问题是:假设我需要一个文件夹 URL 的 NSValueTransformer,我应该把它放在哪里?Notebook应该实现它吗?Notebook+CoreDataProperties 应该吗?或者我是否需要一个名为 FolderURL 的单独子类来实现它,如果需要,我如何在 Notebook(和/或 Notebook+CoreDataProperties)中引用该子类?
(之前有一个类似标题的问题,但他们似乎已经比这更进一步了——他们没有询问或展示“在哪里”。)
ios - NSValueTransformer,如何使用?
我正在使用NSValueTransformer
类将NSDictionary
对象转换为自定义对象。
我已经使用以下方法实现了子类:
然后我注册了我的子类:
我现在应该如何从NSDictionary
. 由于我没有找到任何有关此的信息,因此仅在与 inCoreData
和.xib
files 之类的绑定一起使用时。
我可以NSValueTransformer
用于我的目的吗?-> 转换NSDictionary
成我的自定义对象。
谢谢!
xcode - 运行 ibtool 时出现异常:找不到具有名称的值转换器
我刚刚将 Xcode 升级到 8.0 (8A218a),并将我在 Swift 2.3 中的项目转换为 Swift 3.0。现在剩下的唯一问题是这个错误:
“运行 ibtool 时出现异常:找不到名为 UTIToIconTransformer 的值转换器”
的UTIToIconTransformer
定义如下:
该代码在 Swift 2.3 中运行良好。使用此值转换器的绑定设置如下:
如果我删除此绑定,应用程序会运行,并且行标题会正确显示。
我已经尝试NSValueTransformer.setValueTransformer()
在应用程序委托中调用+initialize()
,在applicationDidFinishLaunching
值转换器中调用+initialize()
,如此处,在 StackOverflow 处和在 NShipster 处所建议的(虽然我不认为“通常,单例实例将在 +initialize值转换器子类的方法,因此无需进一步设置即可使用。”符合Apple的文档。),都没有成功。
在Apple 的文档中,它说
但是在AppDelegate
's中注册override class func initialize()
并没有帮助。在 Xcode 7 和 Swift 2.3 中,它甚至可以在没有注册的情况下工作。
ios - 将 Swift 的日期与 CoreData 一起使用
我的数据库模型中有很多日期字段。CoreData 允许根据“使用标量类型”选项使用 NSDate 或 TimeInterval 来保存日期。
但是,这两个选项对我都不利,因为我想将日期用作Date对象。由于 NSDate 不能隐式转换为,我必须在我的 NSManagedObject 类中将Date
值转换/转换为或实现许多自定义设置器/获取器。Date
我曾尝试使用ValueTransformer
,但它不适用于非@objc 类,如Date
.
那么有没有一种简单的方法来保存和获取Date
CoreData 的值?