iOS 用 Dictionary 接收数据而不用实体类的弊端

2015-03-27 15:13:04 +08:00
 zioc

以前在C#开发中,全部都用实体类,但不太灵活。

在iOS开发中,用Dictionary接收数据,感觉很灵活,但感觉是不是不规范?

那么在iOS开发中 什么时候用Dictionary?什么时候用实体类?

3993 次点击
所在节点    iDev
13 条回复
chisj
2015-03-27 15:27:01 +08:00
建议都用实体类。更好维护,也更看得懂。
yellowV2ex
2015-03-27 15:31:50 +08:00
写个总类,可以把这些个dictionary转成实体顺便检查格式丢error出来
zioc
2015-03-27 15:33:56 +08:00
@yellowV2ex 额,不明白具体操作办法
newtonisaac
2015-03-27 15:57:07 +08:00
搜索下 ios mantle
vincentxue
2015-03-27 16:33:35 +08:00
如果是用 JSON 交互,那么上服务器的一个对象,会包装为字典传给你,然后你就要把这个字典映射为自己的实体对象。

字典只是作为中介传输使用,你模型类公开的属性或变量不应该有字典类型,因为你总是应该把它映射为实体才对。

建议看看 Instagram 的 API,写得相当优秀。

贴一个我前段时间写的一个小项目的一个模型类。仅供参考。

https://gist.github.com/VincentSit/fd64cd721c0e366b3f04
https://gist.github.com/VincentSit/66e7261779a8d24d2795

这个类里的代码涉及到的第三方库:
AFNetworking - 网络请求
MagicalRecord - Core Data 封装
Motis - 模型映射
alsotang
2015-03-27 17:03:13 +08:00
@livid 楼上的文本框溢出了
knightlhs
2015-03-27 17:04:48 +08:00
如果是 JSON 交互 可以考虑 JsonModel 自动映射
vincentxue
2015-03-27 17:32:40 +08:00
@alsotang 这个情况普遍存在。
afon
2015-03-27 22:54:19 +08:00
学习学习
vixvix
2015-03-27 23:09:59 +08:00
还是用实体比较容易维护。实体里面处理从dictionary到object的serialization,和object到json的deserialization.
simman
2015-03-28 00:14:46 +08:00
我接过一个别人写的项目,里面全是用字典,没有注释,没有文档,简直要疯掉啊。
tigerZhang
2015-03-31 15:08:13 +08:00
https://github.com/CoderMJLee/MJExtension
妈妈在也不用担心模型和字典之间的转换了。
sherblue
2015-04-06 23:56:18 +08:00
可以用JSONModel

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

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

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

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

© 2021 V2EX