一个 iOS 项目中,如果使用了很多的 tag,例如按钮的 tag,会有什么弊端吗?求教详细说明!

2015-09-23 12:36:13 +08:00
 tunnyios
如题~。~
3750 次点击
所在节点    iOS
7 条回复
newtonisaac
2015-09-23 12:47:38 +08:00
记不住。
blacklee
2015-09-23 12:52:47 +08:00
可以适当的引进先进的框架,消除项目中的 tag
我通过引入 ReactiveCocoa 已经把原来用 tag 的地方全改掉了
不过迷你型项目无所谓,怎么搞都无所谓
mornlight
2015-09-23 13:08:41 +08:00
@blacklee 感觉 ReactiveCocoa 上手门槛好高
u5e05
2015-09-23 14:03:48 +08:00
不到迫不得已不用,用到的地方也肯定有改进方式, 不靠谱不能确保正确性。

还有比如你一批按钮用了 tag, 其中又加了一个特殊的 UIView 子类, 你想把他们用 tag 统一一套枚举什么的用来判断事件响应的标识, 然后发现这个类(你同事, 或者第三方组件或者是你自己写的)内部自己也在用 tag 控制某些状态, 那不是蛋就碎了吗?
wezzard
2015-09-23 14:14:38 +08:00
不要使用 UIView 的 tag 。建立 weak 連接。
chengkai1853
2015-09-23 16:47:58 +08:00
如果是自己项目就尝试用 reactivecocoa 吧,但是上手到理解门槛比较高,如果在公司项目中用就有些坑公司了,算是特殊框架吧。其他的你把要用到的视图声明为属性就好了,写了好几年的 ios 基本不用 tag ,难记难看。
tab
2015-09-23 17:05:18 +08:00
11 年当实习生时踩过的坑,根据 tag 遍历 view 时会遍历当前 view 的所有 subview ,如果遇到两个相同的 tag 就。。。

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

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

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

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

© 2021 V2EX