vbu*_*vic 5 iphone json ios jsonmodel swift
我试图使用JSONModel将json映射到Swift中的模型.
如果模型没有属于JSONModel子类的属性,则一切正常.
所以在示例中这是有效的,并且它成功映射了属性:
class Person: JSONModel {
var name: NSString?
var gender: NSString?
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我将JSONModel子类设置为City,则此属性未初始化,并且当我稍后尝试访问city属性时它会崩溃应用程序(我可以成功访问person.name和person.gender,但是在person.city上它崩溃了任何信息):
class Person: JSONModel {
var name: NSString?
var gender: NSString?
var city: City? // City is JSONModel subclass
}
Run Code Online (Sandbox Code Playgroud)
如果它是JSONModel子类,看起来JSONModel不能映射/解析属性.有没有人经历过这个并解决了它?
JSONModel 在Swift中不起作用,这就是你遇到问题的原因.来自JSONModel自述文件:
注意:Swift的工作方式与Objective-C不同. 因此我找不到在Swift中重新创建JSONModel的方法.Objective-C中的JSONModel通过CocoaPods或作为导入的Objective-C库在Swift应用程序中运行.
您可能能够在某些边缘情况下使用它 - 但唯一可靠的方法是使用它,通过编写Objective C代码并使用这些Objective C类.如果你想做纯Swift,你应该看看其他库,比如Argo和其他一些库.
也许将访问级别设置为“公共”可能会有所帮助?
public class Person: JSONModel {
public var name: NSString?
public var gender: NSString?
public var city: City? // City is JSONModel subclass
}
public class City: JSONModel {
public var name: NSString?
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5986 次 |
| 最近记录: |