V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
tunnyios
V2EX  ›  iOS

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

  •  1
     
  •   tunnyios · Sep 23, 2015 · 4170 views
    This topic created in 3881 days ago, the information mentioned may be changed or developed.
    如题~。~
    7 replies    2015-09-23 17:05:18 +08:00
    newtonisaac
        1
    newtonisaac  
       Sep 23, 2015
    记不住。
    blacklee
        2
    blacklee  
       Sep 23, 2015
    可以适当的引进先进的框架,消除项目中的 tag
    我通过引入 ReactiveCocoa 已经把原来用 tag 的地方全改掉了
    不过迷你型项目无所谓,怎么搞都无所谓
    mornlight
        3
    mornlight  
       Sep 23, 2015
    @blacklee 感觉 ReactiveCocoa 上手门槛好高
    u5e05
        4
    u5e05  
       Sep 23, 2015
    不到迫不得已不用,用到的地方也肯定有改进方式, 不靠谱不能确保正确性。

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