首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
iOS 开发实用书单
iPhone App Development: The Missing Manual
Cocoa and Objective-C: Up and Running
Cocoa Programming for Mac OS X
深入浅出设计模式 Head First Design Patterns
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
宝塔
V2EX  ›  iDev

问一个 tableviewcell 的问题

  •  1
     
  •   h386926074 · 279 天前 · 2469 次点击
    这是一个创建于 279 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在的业务逻辑是 获取 listmodel 后 还需要每个 modeL 根据 id 去走另个一个接口 ,拿到数据然后展示到 cell 上 如果拿到 listmodel 后先刷新 再异步走第二个接口后再刷新界面会跳动,请教各位 这种情况有没有好的办法

    13 回复  |  直到 2019-02-15 10:18:05 +08:00
        1
    Damon4V   279 天前
    可以单个刷新 cell 的。可以去试试
        2
    h386926074   279 天前
    确实是单个刷新的 因为是第二次是异步获取数据 然后单个刷新 就会出现刷新混乱的问题
        3
    h386926074   279 天前
    @Damon4V 确实是单个刷新的 因为是第二次是异步获取数据 然后单个刷新 就会出现刷新混乱的问题
        4
    knightlhs   279 天前
    多线程,同时获取数据,返回后统一渲染
        5
    uyz   279 天前
    要不试一下缓存,缓存当前屏、上 /下一屏的数据,这样就只有一次刷新了;缓存机制实现起来麻烦些
        6
    h386926074   279 天前
    @knightlhs 这种网络环境不确定 可能会导致获取数据时间很长吧 10 条数据 就需要走 11 个网络接口
        7
    laobaozi   279 天前
    只要 cell 的高度变化,reload 界面就会跳动

    如果能改造接口,就把第二个接口返回的数据合并到第一个接口中
    否则
    简单粗暴的搞法就是在 listmodel 返回后,再马上请求所有 cell 需要的第二份数据并缓存, 只有在两个接口都返回后再刷新 tableView
        8
    weirdyu   279 天前
    接口设计不合理,第二个传一组 id 也比你这样一个个请求强啊
        9
    90928yao   279 天前
    这接口是不是有点问题。你 cell 要是很多 难道请求一直发吗。。。
        10
    h386926074   278 天前
    @90928yao 这接口的确很坑啊 本来是一次请求 ,并在一块的 ,但服务器这个接口查询时上也先查两个地方,导致客户端拉接口很慢,才分开,等于把坑甩到客户端处理了
        11
    misaka20   278 天前
    这种客户端不需要解决,就是强制让接口端解决
        12
    shzcaptain   278 天前
    当然是服务端组装好数据给客户端渲染了,一个页面多次渲染不仅是跳的问题,性能也会有很大的问题。
        13
    h386926074   277 天前
    @shzcaptain @misaka20 这个问题 只能留给 接口解决了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3327 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 04:42 · PVG 12:42 · LAX 20:42 · JFK 23:42
    ♥ Do have faith in what you're doing.