V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tunnyios
V2EX  ›  iOS

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

  •  1
     
  •   tunnyios · 2015-09-23 12:36:13 +08:00 · 3770 次点击
    这是一个创建于 3383 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题~。~
    7 条回复    2015-09-23 17:05:18 +08:00
    newtonisaac
        1
    newtonisaac  
       2015-09-23 12:47:38 +08:00
    记不住。
    blacklee
        2
    blacklee  
       2015-09-23 12:52:47 +08:00
    可以适当的引进先进的框架,消除项目中的 tag
    我通过引入 ReactiveCocoa 已经把原来用 tag 的地方全改掉了
    不过迷你型项目无所谓,怎么搞都无所谓
    mornlight
        3
    mornlight  
       2015-09-23 13:08:41 +08:00
    @blacklee 感觉 ReactiveCocoa 上手门槛好高
    u5e05
        4
    u5e05  
       2015-09-23 14:03:48 +08:00
    不到迫不得已不用,用到的地方也肯定有改进方式, 不靠谱不能确保正确性。

    还有比如你一批按钮用了 tag, 其中又加了一个特殊的 UIView 子类, 你想把他们用 tag 统一一套枚举什么的用来判断事件响应的标识, 然后发现这个类(你同事, 或者第三方组件或者是你自己写的)内部自己也在用 tag 控制某些状态, 那不是蛋就碎了吗?
    wezzard
        5
    wezzard  
       2015-09-23 14:14:38 +08:00 via iPhone
    不要使用 UIView 的 tag 。建立 weak 連接。
    chengkai1853
        6
    chengkai1853  
       2015-09-23 16:47:58 +08:00
    如果是自己项目就尝试用 reactivecocoa 吧,但是上手到理解门槛比较高,如果在公司项目中用就有些坑公司了,算是特殊框架吧。其他的你把要用到的视图声明为属性就好了,写了好几年的 ios 基本不用 tag ,难记难看。
    tab
        7
    tab  
       2015-09-23 17:05:18 +08:00
    11 年当实习生时踩过的坑,根据 tag 遍历 view 时会遍历当前 view 的所有 subview ,如果遇到两个相同的 tag 就。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   959 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:03 · PVG 04:03 · LAX 12:03 · JFK 15:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.