【发布时间】:2016-10-10 05:15:54
【问题描述】:
我在Swift 中找不到如何将我的JSON 数据写入我的Realm DB 的信息。
我有课:
class News: Object {
dynamic var newsID: String = ""
dynamic var newsTitle: String = ""
dynamic var newsFullText: String = ""
dynamic var newsAutor: String = ""
dynamic var newsCommentCount: String = ""
dynamic var newsSeenCount: String = ""
dynamic var newsDate: String = ""
dynamic var newsCategory: String = ""
}
在这里,我从服务器获取JSON:
func parseJSONData(data: NSData) -> [News] {
do {
let temp: NSString = NSString(data: data, encoding: NSUTF8StringEncoding)!
let myNSData = temp.dataUsingEncoding(NSUTF8StringEncoding)!
let jsonResult = try NSJSONSerialization.JSONObjectWithData(myNSData, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary
let jsonNews = jsonResult["posts"] as! [AnyObject]
for jsonnewes in jsonNews {
let newsJson = News()
newsJson.newsTitle = jsonnewes["post_title"] as! String
newsJson.newsAutor = jsonnewes["author_name"] as! String
newsJson.newsFullText = jsonnewes["full_text"] as! String
newsJson.newsID = jsonnewes["id"] as! String
newsJson.newsCategory = jsonnewes["menu_category_name"] as! String
newsJson.newsDate = jsonnewes["create_date"] as! String
newsJson.newsSeenCount = jsonnewes["review"] as! String
newsJson.newsCommentCount = jsonnewes["comment_count"] as! String
newsItems.append(newsJson)
}
} catch {
print(error)
}
return newsItems
}
以及如何将我的数据写入Realm DB?
【问题讨论】:
-
你读过docs吗?将对象写入领域数据库非常容易
-
当然可以。我知道我可以通过尝试来写作! realm.write { 让 json = 试试吧! JSONSerialization.jsonObject(with: data, options: []) realm.create(City.self, value: json, update: true) } 但这对我没有帮助
-
在一个数组中收集你的
newsJson(比如newsObjects),然后调用realm.add(newsObjects)将它们全部添加到Realm。 -
@Zhan 创建
News数组后,您可以遍历它并执行realm.add(news),这意味着在您的parseJSONData之后只添加它 -
我的序列化是否正确?
标签: ios json swift xcode realm