问题标签 [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.

0 投票
1 回答
1189 浏览

ios - 如何在我的 iOS 6 项目中包含自定义框架(GitHub 的 Mantle)?

我想在我的 iOS 应用程序中使用 Github 的 Mantle 框架。我正在使用 XCode 4.5 和 iOS SDK 6。我该怎么做?

这是框架:https ://github.com/github/Mantle

0 投票
5 回答
11552 浏览

ios - 如何使用 Mantle 在 NSArray 中指定子对象类型

如果我有一本像

和两个模型,如:

如何使用 Mantle 以使我的人物模型中的汽车阵列成为 CarModels?

0 投票
2 回答
3473 浏览

ios - 将 MTLModel 子类的嵌套数据结构序列化为 JSON

我从 Github遇到了一个关于Mantle 框架的问题。我想做以下

已编辑

ClassA当我使用 JSON序列化一个实例时,[NSJSONSerialization dataWithJSONObject:[MTLJSONAdaptor JSONDictionaryFromModel:instanceOfA]我想获得以下 JSON 对象,其中 B 的选定属性嵌套在 JSON 键下user

我认为必须像 NSCoding 所做的那样沿着对象关系树走下去。我想知道这种行为是否已经实现,我只是不知道如何使用它,或者我是否必须自己编写代码。

除了自述文件之外,我也很难找到更多关于地幔框架的文档。

0 投票
3 回答
4951 浏览

objective-c - 如何使用 CocoaPods 将 GitHub 的 Mantle 添加到 Xcode

我已经使用CocoaPods将 GitHub 的Mantle项目添加到 iOS 6 项目中:

然后我在自定义搜索路径之前($inherited)将变量添加到Header Search Paths项目的“构建设置”部分。导入 Mantle 头文件时,Xcode 抱怨

我错过了一些步骤吗?我还安装了其他 pod(AFNetworking 和 SSKeychain),但只有 Mantle 给我带来了问题。

我还添加了 SSToolkit,但遵循其“入门”中的说明,即不使用 CocoaPods。

0 投票
1 回答
2545 浏览

ios - MTLModels中的MTLModels?

我有一个 Web 服务,它返回一个对象的 JSON,并且在该对象中有一个其他对象的列表。我怎样才能让 Mantle 为这些嵌套对象中的每一个创建一个对象,而不是为每个嵌套对象给我一本字典?

0 投票
4 回答
9454 浏览

ios - 如何使用 Mantle 在 JSON 字典中省略空值?

我的 MyModel 继承自 MTLModel(使用 GitHub Mantle pod)。我的模型.h

我的模型.m

现在我想使用 AFNetworking 将 JSON 发送到后端。在此之前,我将模型实例转换为 JSON NSDictionary 以用作我的请求中的参数/正文有效负载。

但是这个 JSON 由奇怪的“”字符串组成,用于我的模型的属性,它们是 nil。相反,我想要的是 Mantle 省略这些键/值对,而只是吐出一个 JSON,其中只有非 nil 或 NSNull.null 的属性,无论如何。

0 投票
0 回答
5218 浏览

ios - JSONModel vs github Mantle 框架

我正在构建一个需要大量 JSON 数据处理的应用程序。在浏览了不同的框架之后,我选择了JSONModel ( https://github.com/icanzilb/JSONModel ) 和github Mantle ( https://github.com/github/Mantle ),因为它们具有丰富的功能集和易用性.

它们在数据转换、归档、复制、自动和自定义键映射等功能方面非常相似。但是,JSONModel具有一些额外的开箱即用映射选项和内置模型级联支持,而Mantle是相对更流行,显然它背后有 github 支持。

对我来说,性能和易用性很重要,所以我只是想知道是否有人有真正使用它们的经验并且可以分享,主要是在性能和​​易用性方面。

由于有很多内置的键映射选项和模型级联,我自己倾向于JSONModel,但不确定它如何处理大量数据。

编辑(2015 年 4 月 28 日):我最终使用了 Github Mantle,因为它与我的应用程序架构很好地融合在一起,而且它具有更多的模块化设计,您可以在其中插入自己的属性格式化程序、核心数据支持、嵌套模型等等.

已经使用了近 2 年,从未遇到过对我不起作用的情况,不开玩笑!它与 AFNetworking 或 Alamofire 框架配合得很好,与 Swift 配合使用。当 Swift 支持仍然不完整时,我试图寻找替代方案,我什至找不到任何很棒的东西。

0 投票
1 回答
469 浏览

objective-c - 在块中返回非指针对象时出现问题

我正在使用 Mantle 帮助我将模型对象转换为 JSON。我的一个对象包含一个centroid定义如下的属性:

@property (assign) CLLocationCoordinate2D centroid;

当我处理服务器时,我收到以下格式的属性:

所以我决定实现MTLJSONSerializing协议中可用的自定义 JSON 转换器,定义如下:

我遇到的麻烦是+ (instancetype)transformerWithBlock:(MTLValueTransformerBlock)transformationBlock内部的方法MTLValueTransformer接受了一个类型的块typedef id (^MTLValueTransformerBlock)(id);,它返回一个类型的值id或任何objective-c指针对象。

但是,我想做的是返回 CLLocationCoordinate2D 类型,它是一个标量,非id类型。除了定义我自己的客户实现之外,transformerWithBlock:是否有一种干净的方法可以实现这一点?

0 投票
2 回答
1573 浏览

ios - 用 Mantle 编码 c-struct (NSCoding)

我想使用 Mantle 框架 ( https://github.com/github/Mantle ) 为我的类使用 struct 属性支持 NSCoding:

但是当我试图[NSKeyedArchiver archiveRootObject:obj toFile:@"file"];让它在MTLModel+NSCoding.m中崩溃的时候,- (void)encodeWithCoder:(NSCoder *)coder就上线了

Mantle 是否支持 c-struct 编码(以及解码)或者我需要为此类类自定义实现 NSCoding 协议?

0 投票
3 回答
3861 浏览

ios - 在 Mantle 中替换 JSON 空值

我正在使用 Mantle 解析一些通常如下所示的 JSON:

但是有时 foobar 的值为 null:

这会导致MTLValidateAndSetValue抛出异常,因为它试图通过键值编码设置 nil 值。

我想做的是检测这个空值的存在并将其替换为-1。

我尝试foobarJSONTransformer在我的MTLModel子类中覆盖如下:

...并且我可以看到此代码被调用但 inObj 永远不等于[NSNull null],因此不会发生替换,并且异常仍然由 Mantle 引发。

捕获此 JSON null 情况并进行替换的正确方法是什么?