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

跪求 iOS cell 点击跳转问题

  •  
  •   tunnyios · 2015-11-26 14:20:30 +08:00 · 3599 次点击
    这是一个创建于 3288 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有碰到过 tableViewCell 不知道是由于网络不好,还是什么情况,同一个 cell 被快速点击多次,跳了多次下一个界面。这个是什么原因呢?怎么解决呢?
    10 条回复    2015-11-27 18:18:04 +08:00
    skiplow
        1
    skiplow  
       2015-11-26 14:30:31 +08:00
    做一个防双击处理吧
    qq2511296
        2
    qq2511296  
       2015-11-26 16:38:15 +08:00
    你难道是在点击的时候发送网络请求 去请求数据? 不是在 push 成功之后在新控制器请求数据?
    jackisnotspirate
        3
    jackisnotspirate  
       2015-11-26 17:10:01 +08:00
    先跳转,再网络请求,要么就加一个 hud
    wddwycc
        4
    wddwycc  
       2015-11-26 21:03:21 +08:00
    把网络请求写到`viewWillAppear`里
    YuHong
        5
    YuHong  
       2015-11-27 00:49:21 +08:00 via iPhone
    @wddwycc 千万别这么做。 viewWillAppear 在 ViewController 的生命周期中可能触发多次。
    LINAICAI
        6
    LINAICAI  
       2015-11-27 00:57:03 +08:00
    不用 push 啥事都没。。。
    但如果你确实需要 push ,那么防止多次 push 的方法也有,遍历导航条的子控制器,如果已经有了就不要再 push 了
    loveuqian
        7
    loveuqian  
       2015-11-27 01:09:04 +08:00 via iPhone
    我不懂,你请求在子线程,难道你的 push 写在请求的回调内?
    rayshen
        8
    rayshen  
       2015-11-27 09:07:28 +08:00
    点完-》加 HUD-》网络请求-》撤 HUD 、跳转
    wddwycc
        9
    wddwycc  
       2015-11-27 15:30:30 +08:00 via iPhone
    @YuHong 加个 flag 判断一下嘛
    hekunhotmail
        10
    hekunhotmail  
       2015-11-27 18:18:04 +08:00
    这个很正常, QQ ,微信 都会有这样的问题,
    出现这个问题的原因,当前主线程被 block 住,导致 UITouch 事件相应多次到主线程的消息队列里。
    不过你要找一下为什么会卡住,是 cpu 满了,还是有别的耗时操作也在进行。跟踪一下点击时的帧数,然后找问题去优化吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1571 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:10 · PVG 01:10 · LAX 09:10 · JFK 12:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.