问题标签 [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 - 如何在我的 iOS 6 项目中包含自定义框架(GitHub 的 Mantle)?
我想在我的 iOS 应用程序中使用 Github 的 Mantle 框架。我正在使用 XCode 4.5 和 iOS SDK 6。我该怎么做?
ios - 如何使用 Mantle 在 NSArray 中指定子对象类型
如果我有一本像
和两个模型,如:
如何使用 Mantle 以使我的人物模型中的汽车阵列成为 CarModels?
ios - 将 MTLModel 子类的嵌套数据结构序列化为 JSON
我从 Github遇到了一个关于Mantle 框架的问题。我想做以下
已编辑
ClassA
当我使用 JSON序列化一个实例时,[NSJSONSerialization dataWithJSONObject:[MTLJSONAdaptor JSONDictionaryFromModel:instanceOfA]
我想获得以下 JSON 对象,其中 B 的选定属性嵌套在 JSON 键下user
:
我认为必须像 NSCoding 所做的那样沿着对象关系树走下去。我想知道这种行为是否已经实现,我只是不知道如何使用它,或者我是否必须自己编写代码。
除了自述文件之外,我也很难找到更多关于地幔框架的文档。
objective-c - 如何使用 CocoaPods 将 GitHub 的 Mantle 添加到 Xcode
我已经使用CocoaPods将 GitHub 的Mantle项目添加到 iOS 6 项目中:
然后我在自定义搜索路径之前($inherited)
将变量添加到Header Search Paths
项目的“构建设置”部分。导入 Mantle 头文件时,Xcode 抱怨
我错过了一些步骤吗?我还安装了其他 pod(AFNetworking 和 SSKeychain),但只有 Mantle 给我带来了问题。
我还添加了 SSToolkit,但遵循其“入门”中的说明,即不使用 CocoaPods。
ios - MTLModels中的MTLModels?
我有一个 Web 服务,它返回一个对象的 JSON,并且在该对象中有一个其他对象的列表。我怎样才能让 Mantle 为这些嵌套对象中的每一个创建一个对象,而不是为每个嵌套对象给我一本字典?
ios - 如何使用 Mantle 在 JSON 字典中省略空值?
我的 MyModel 继承自 MTLModel(使用 GitHub Mantle pod)。我的模型.h
我的模型.m
现在我想使用 AFNetworking 将 JSON 发送到后端。在此之前,我将模型实例转换为 JSON NSDictionary 以用作我的请求中的参数/正文有效负载。
但是这个 JSON 由奇怪的“”字符串组成,用于我的模型的属性,它们是 nil。相反,我想要的是 Mantle 省略这些键/值对,而只是吐出一个 JSON,其中只有非 nil 或 NSNull.null 的属性,无论如何。
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 支持仍然不完整时,我试图寻找替代方案,我什至找不到任何很棒的东西。
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:
是否有一种干净的方法可以实现这一点?
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 协议?
ios - 在 Mantle 中替换 JSON 空值
我正在使用 Mantle 解析一些通常如下所示的 JSON:
但是有时 foobar 的值为 null:
这会导致MTLValidateAndSetValue
抛出异常,因为它试图通过键值编码设置 nil 值。
我想做的是检测这个空值的存在并将其替换为-1。
我尝试foobarJSONTransformer
在我的MTLModel
子类中覆盖如下:
...并且我可以看到此代码被调用但 inObj 永远不等于[NSNull null]
,因此不会发生替换,并且异常仍然由 Mantle 引发。
捕获此 JSON null 情况并进行替换的正确方法是什么?