问题标签 [github-mantle]
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 - 使用 Mantle 从 JSON 数组创建自定义 NSString
我正在使用Mantle解析一些业务 JSON。目前,我们通过以下业务类别的 JSON 对象数组:
如果 's' 然后将字符串附加到一个字符串中,则此循环遍历类别数组会删除最后一个字母。
这是目前完成的cellForRowAt..
,我觉得这不是做这类工作的正确地方。
我想做的是将这些数据解析为最初使用 Mantle 创建的业务模型的字符串,而不是为每个单元完成此操作。
问题
如何根据我们上面的当前工作创建自定义 NSValueTransformer 来将 JSON 数组转换为模型上的字符串?
ios - 使用嵌套字典进行地幔变换
我认为这个问题适用于我的情况,但是我缺乏 Mantle 和 iOS 的一般经验已经结束了我的思路。基本上,我有一大块带有嵌套字典和数组的 JSON,我想将它们转换为 Mantle 对象。
我希望能够实现与上面链接的解决方案类似的解决方案,即向下迭代“Features”键的字典,并对每个键/值对应用转换。因此,在这种情况下,对于“App”键和它的字典值(以及后来的“modernCapabilities”键和它的数组等)我知道对于后面的步骤,我需要单独的模型类,并且这些存在,但我在第一步中遇到了麻烦,即“App”键上的转换及其值。
这是我现在拥有的:
正如您从代码中看到的那样,我试图保留密钥,并将其附加到一个新字典,其值为另一个转换,在这种情况下为 FeatureStatus (@{ "App" : })
问题是没有 [FeatureStatus changedValue:],尽管我确实有一个 JSONKeyPathsForPropetyKey,因为我想稍后映射“status”、“unavailableReasons”和“modernCapabilities”键。
我的下一步是什么?我怎样才能注册一个做我想做的事情的 ValueTransform?
ios - 如何让 YapDatabase 和 Mantle 与序列化配合得很好
假设我有这样的模型:
如您所见,我想anotherProp
在 NSCoding 序列化期间忽略,并将“UUID”重新映射到“id”。使用 YapDatabase,我做了一个
anotherProp
但尽管有我的自定义方法,它仍会尝试序列化JSONKeyPathsByPropertyKey
,导致此错误:
我是否需要编写自定义序列化程序才能使用 YapDatabase JSONKeyPathsByPropertyKey
?
ios - 映射父对象内的对象数组 - Mantle iOS
我有一些看起来像这样的 json 数据:
我想使用 Mantle 将此 json 映射到包含两个对象的数组中。
这将如下所示:
但是,这需要我在 json 中找到“items”键,然后解析该键中的内容。
相反,我希望 Mantle 为我映射整个对象。所以,我想出了这个解决方案:
什么时候都设置完成,这将给我留下如下内容
这一切都很好,但我相信创建一个“MyObjects”类只是为了作为 MyObject 数组的占位符是矫枉过正的。有更好的解决方案吗?理想情况下,我正在寻找一个为我处理根“项目”键的地幔设置(或者比创建两个类更容易获取对象数组的设置),这样当它解析时,它就出来了2 个对象的数组。
谢谢!
objective-c - 在 iOS 上测试 Mantle 模型时出错
给定以下简单的模型类(基于 Mantle):
我创建以下测试用例:
我得到以下运行时错误:
*** Assertion failure in -[MTLJSONAdapter initWithJSONDictionary:modelClass:error:]
Invalid parameter not satisfying: [modelClass isSubclassOfClass:MTLModel.class]
而且,如您所见,modelClass
(aka JAIInterestingPhonesCategory
) 是MTLModel
.
我已将 Mantle 作为 Pod 添加到项目中。
知道这里发生了什么吗?谢谢!!!
ios - 如何在 Swift 中使用 Github Mantle 的 MTLValueTransformer?
前言:我主要是一个 obj-c && swift n00b。在过去的一年里,我通过使用 RubyMotion 对 iOS 和 Cocoa 框架有些熟悉。因此,如果有一些邪恶的愚蠢或明显的东西我错过了,那就是为什么......
我在一个新的 iOS 项目(使用 CoreData)中使用 Mantle 的 JSONTransformer 时遇到了问题。我一直在尝试在 Swift 中实现以下 [obj-c 代码]:
我dateFormatter
定义了以下函数:
使用下面的实现时,我一直收到类似于以下内容的错误:
'AnyObject!' is not a subtype of 'NSString'
或者
Cannot convert the expression's type 'MTLValueTransformer!' to type 'NSString?'
我尝试了以下方法:
和
还尝试使用块的可选类型参数......
和
我可以看到,当我在 xcode 中使用自动完成功能时,它正在寻找匹配的内容:
MTLValueTransformer.reversibleTransformerWithForwardBlock(forwardBlock: MTLValueTransformerBlock?, reverseBlock: MTLValueTransformerBlock?)
最后,我还尝试在所有示例(失败)中指定第一个参数的名称,例如
MTLValueTranso.reversibleTransformerWithForwardBlock(forwardBlock: _forwardBlock, reverseBlock: _reverseBlock)
非常感谢任何帮助或指导 - 谢谢!
objective-c - 使用 Mantle 和 Sickbeard API
我正在尝试使用 Mantle 将 Sickbeard API 的响应映射到我的对象,但我不知道如何,因为响应是基于键值的,使用 TVDB id 作为键,如下所示:
由于该data
对象不只是包含这样的对象数组,[{"key": value},{"key": value}]
而是由某个唯一 ID 键控的对象,所以我不确定应该如何将它映射到我的SBShow
类中,定义如下:
任何帮助将不胜感激。
ios - Mantle 自动将 0 和 1 转换为 BOOL?
Mantle 是否已经将 JSON 中的 int 值 0 和 1 转换为 Objective-C BOOL 值?
我有一个模型:
假设 JSON 是:
我想知道 Mantle 是否会自动转换is_valid
为 Objective-C BOOL 值,我必须明确提及以下内容:
objective-c - JSON 缺失字典(地幔)
我正在尝试将此 JSON 转换为模型:
这是我的课:
认为如果我将变量命名为完全相同,则不需要实现 JSONKeyPath,但我做到了。
这是我的转换方法:
其中 model 是我的类名,responseObject 只是我用 AFNetworking 填充的 id 对象。
我总是收到这个错误:
ios - 如何使用 Mantle 向父级添加关系?
我有这样的父/子类:
a 到 f 的所有字段都在 JSON 中,具有相同的名称(因此我的 JSONKeyPathsByPropertyKey 方法返回 nil),并且正确设置了正确的 JSONTransformer,以便 parent 中的 childs 数组包含 Child 类而不是 NSDictionary。
一切都在向前推进。
但为了方便起见,我希望在我的 Child 模型中引用回拥有它的父级的属性。所以在代码中我可以做到这一点:
我如何用 Mantle 做到这一点?
我希望,当父级解析孩子的 JSON 并创建 Child 类时,为其自身添加一个 ref。(使用 init 方法??)
谢谢。