将JSON字典保存到Realm Swift

时间:2016-09-19 07:25:48

标签: swift xcode nsdictionary realm

我正在使用Realm使用JSON Response从我的服务器保存数据。但是我很难将字典保存到Realm对象。我的数据如下:

"stuff": {
   "id": 1,
   "icon_image": [
     {
       "photo": "http://myserver.com/image/1.png"
     }
   ],
   "photo": "http://myserver.com/image/header.png",
   "thumbnail_image": [
     {
       "photo": "http://myserver.com/image/3.png"
     }
   ]
 }

如何将其另存为Realm对象?在Realm中,它可能只保存原始类型。我可以设法保存像string或float这样的对象。

2 个答案:

答案 0 :(得分:1)

要在Realm中保存该显式类型的数据,您需要实现模型子类的内容:

class Image: Object {
    dynamic var photo = ""
}

class Stuff: Object {
    dynamic var id = 0
    dynamic var photo = ""
    let iconImage = List<Image>()
    let thumbnailImage = List<Image>() 
}

像ĐinhQuangHiếu在评论中所说,然后由你将这个JSON字符串的结果“映射”到Realm。在非常简单的情况下,您可以使用Object.init(value: dictionary)将Swift词典映射到Realm,但使用更多功能齐全的库(如ObjectMapper更安全,可以处理JSON未完全出现的不同场景你的应用程序是如何期待的。

答案 1 :(得分:-1)

您可以使用Gloss将JSON响应解析为swift可以操作的对象,然后使用Realm保存它吗?