我正在使用AFNetworking来处理我的网络请求。假设我有以下JSON有效负载:
{
"car": [{
"name": "Blue BMW",
"owner_id": "123"
}],
"owners": [{
"id": "123",
"name": "John"
}]
}
考虑到使用CoreData没有持久保存对象图,解析该JSON结构的正确方法是什么。迭代owners
对象来查找每辆车的车主详细信息效率非常低,那么更好的方法是什么?
答案 0 :(得分:1)
通过所有者对象迭代查找每辆车的所有者详细信息效率非常低,那么更好的方法是什么?
O(n^2)
对于相当小的n
来说完全没问题。在现代iOS设备上,您必须达到10k对象的订单才能看到性能损失 - 可能比JSON发回的要小得多。
正如其他人在评论中提到的那样,old saying goes,“我们应该忘记效率低下,大约97%的时间说:过早的优化是所有邪恶的根源。”
只需编码即可。如果您的应用很慢,请在仪器中进行配置。只有这样你才能真正知道应用程序的瓶颈是什么(人们通常非常难以猜测先验)
答案 1 :(得分:-1)
使用NSJSONSerialization
类来解析JSON。
使用+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error
从给定的JSON数据创建Foundation对象。