Objective-c对集合的操作实在在麻烦了,特别是对于复杂的集合

2013-09-05 21:58:22 +08:00
 refresh
数据是从JSON中转换过来的,所有有非常多的NSArray和NSDictionary,然后这些数据需要修改,然后我就疯了,一个个转换为NSMutable去改,JS处理这些东西是分分钟的事啊,简单要被弄疯了。
例如有一个数据:
var data = {
user:[{
role: [1, 3, 4],
address:{
city: "biejing"
}
}]
}

把这个JSON数据转换为dict,然后要修改其中的city为shanghai,js只需要data.user[0].address.city = 'shanghai'就行了,objective-c就疯了。

有啥好招没,可能是我水平太烂,求教。
4198 次点击
所在节点    iDev
34 条回复
refresh
2013-09-06 10:37:57 +08:00
@alexrezit 谢谢,感谢已发,你这种方式和#define哪个好,#define只要一行就搞定了。
tgfbeta
2013-09-06 16:01:20 +08:00
@refresh 声明写在.h文件,作为从一个模块输出的符号。
定义写在.m文件,全局唯一。
PrideChung
2013-09-06 18:02:12 +08:00
@refresh 我一般都选择自己把JSON返回的数据map成一个类。如果你确实要用字符串下标的话,用常量字符串,不要用宏定义。
0day
2013-09-06 21:28:09 +08:00
对象化难免,自己做 Object Mapping !

推荐的库:RestKit (https://github.com/RestKit/RestKit)
alexrezit
2013-09-06 21:29:44 +08:00
@0day
- - 又把 RK 推出来坑人么...
PrideChung
2013-09-06 21:31:17 +08:00
@0day
@alexrezit

我看过RestKit以后不太喜欢,对于简单的Object Mapping实在太折腾了,自己写一个能有多难。
0day
2013-09-06 21:34:10 +08:00
@PrideChung 不会多难,不用 Core Data 存储,不考虑 RESTful 的话,自己写就 OK 了。只是看写到多范型的问题。
0day
2013-09-06 21:34:53 +08:00
@alexrezit 这东西慢慢啃还是挺有味道的
lex
2013-09-06 21:35:20 +08:00
alexrezit
2013-09-06 21:40:37 +08:00
@0day
消化不良...
PrideChung
2013-09-06 21:56:56 +08:00
@0day
@alexrezit

RestKit那层层叠叠的类结构看得我头晕,另一个让我有这种感觉的就是Core Data,这两货加起来,OMG. 反正在移动设备上也不太会有很多复杂的数据,自己写写就完了。
0day
2013-09-06 21:59:02 +08:00
@PrideChung 追求 lightweight 没错的,不过觉得结构不复杂这个,我倒是觉得要重新审视了!
lovebirdegg
2013-09-06 22:33:37 +08:00
弱弱的问一下 这个modle化是什么意思
BB9z
2013-09-25 13:01:49 +08:00
可以试试 https://github.com/icanzilb/JSONModel ,我感觉比 Mantle 要好用,不过代码有点搓。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/81462

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX