如何动态地根据 json/xml 的描述来实现自定义 UITableViewCell?

2015-12-27 13:01:48 +08:00
 Keita1314
一个 APP 里面有多个项目,一个项目对应着一个 UITableView,不同的项目有不同的 json/xml,这里 json/xml 是用来描述 UITableViewCell ,然后切换项目的时候根据 json/xml 来渲染 UITableViewCell.
比如
一个项目的 cell 可能是这样
```
{
"cell":{
"a":1
"c":2
}
}
```

另一个项目可能是这样
```
{
"cell":{
"d":2
"f":4
"g":1
"h":1
}
}
```
只涉及文字, cell 要展示的内容要完全依赖项目对应的 json/xml 的,应该怎么实现这个自定义 UITableViewCell ?
1951 次点击
所在节点    iDev
8 条回复
Keita1314
2015-12-27 13:03:44 +08:00
@onevcat 邀请喵神~
Sunnyyoung
2015-12-27 14:05:33 +08:00
好奇 b 和 e 去哪了
Keita1314
2015-12-27 14:19:35 +08:00
@Sunnyyoung 举例子而已,实际的意思就是 tableviewcell 里面的内容,比如标签有哪些,有多少个,是根据 json/xml 来获取的,我想了想感觉只有在 cellForRowAtIndexPath 里面动态加 view ,但又觉得这种效率会不会太低
Sunnyyoung
2015-12-27 14:30:47 +08:00
@Keita1314 不知道你要渲染的内容仅仅是文字呢还是复杂的内容
felixzhu
2015-12-27 14:51:23 +08:00
类似 NimbusKit 的实现?
Sunnyyoung
2015-12-27 14:55:56 +08:00
诶,楼主你的头像跟我的好配,哈哈
txx
2015-12-27 14:58:02 +08:00
写一个渲染引擎啦...
clangdiagnostic
2015-12-28 08:56:41 +08:00
ViewModel 可能是你需要的,在 ViewModel 中处理不同的 json/xml 产生的内容。当然了,这是在你的 Cell 的 View 是不变的情况下。需要变化的话还是不同项目分开写把。其他的方法看着都觉得麻烦

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

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

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

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

© 2021 V2EX