objective-c - 使用 Jastor 将 JSON/NSDictionary 转换为 Typed Swift 类

标签 objective-c class swift jastor

我正在浏览 Jastor的文档:

returning arrays 有一个 Objective-C 实现:

+ (Class)categories_class {
    return [ProductCategory class];
}

这是我尝试将它转换为 Swift 的尝试,但是它最终没有返回任何内容,所以我认为它没有正确实现:

#<_TtC4TestApp4Room: id = (null) {
    resultCount = 50; // 50 is returning fine
    results =     ( // results is not
    );
}>

NSDictionary 响应:

{
  "resultCount" : 50,
  "results" : [
    {
      "collectionExplicitness" : "notExplicit",
      "discCount" : 1,
      "artworkUrl60" : "http:\/\/a4.mzstatic.com\/us\/r30\/Features\/2a\/b7\/da\/dj.kkirmfzh.60x60-50.jpg",
      "collectionCensoredName" : "Changes in Latitudes, Changes in Attitudes (Ultmate Master Disk  Gold CD  Reissue)"
    }
   ]
}

Music.swift (不太确定如何实现 results_class() 方法)

class Music : Jastor {

    var resultCount: NSNumber = 0
    var results: NSArray = []

    class func results_class() -> AnyClass {
        return Author.self
    }
}

Author.swift

class Author {

    var collectionExplicitness: NSString = ""
    var discCount: NSNumber = 0
    var artworkUrl60: NSString = ""
    var collectionCensoredName: NSString = ""

}

最佳答案

我正在使用以下语法(根据您的示例改编):

static let results_class = Author.self

一切都适合我。

其他可能会或可能不会影响的差异:

  • 我正在使用 Int 而不是 NSNumberString 而不是 NSString (数组除外)。
  • 我使用隐式包装的可选值而不是为每个字段分配默认值

关于objective-c - 使用 Jastor 将 JSON/NSDictionary 转换为 Typed Swift 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24275264/

相关文章:

ios - UIApplicationLaunchOptionsLocalNotificationKey 始终为 null - iOS

c++ - 带有模板 C++ 的嵌套类

ios - 我在解析 XML 时显示一条错误消息

swift - swift 中不同大小和类型的元组列表

ios - Swift 泛型 - 无法将值转换为类型

objective-c - Xcode 基于 Debug 而不是 Release

ios - 如何在 objective c 中将 SOAP 数据发布到服务器

objective-c - 如何判断远程网络设备是否可用?

python - 对于 python,<class 'requests.models.Response' > 是什么意思

c++ - 为什么我的类只能使用两个构造函数 C++