【问题标题】:UITableView loading times with Swift使用 Swift 的 UITableView 加载时间
【发布时间】:2015-01-29 02:04:58
【问题描述】:

目前 UITableView 加载信息而不对单元格进行任何操作,但我希望快速加载单元格,而无需像滚动一样向下滑动表格。有没有其他人在使用 UITablieViewController 或 UITableView 时遇到过这个加载时间问题?

【问题讨论】:

    标签: xcode uitableview swift


    【解决方案1】:

    我有,对我来说这是因为 UITableView 是在后台线程上处理的。需要几秒钟才能连接到被触摸的单元格或者我可以再次触摸它以强制它加载的症状。

    如果您遇到这种情况,请将其发送到主线程并使用以下内容会有所帮助。

    dispatch_async(dispatch_get_main_queue(), {
        // Place your code here
    })
    

    【讨论】:

    • 这就是我所拥有的,它仍然需要滑动或长时间等待 dispatch_async(dispatch_get_main_queue()) {cell.textLabel!.text = redditEntry ["time"] as?字符串 cell.detailTextLabel!.text = redditEntry["date"] as?字符串}
    • 使用调度设置标签不会有太大作用,我相信这是单元格本身或 tableview 是这里的阻塞.. 所以也许尝试重新加载 tableview 但将其发送到调度所以:dispatch_async(dispatch_get_main_queue(), { self.yourTableOutletNameHere.reloadData() })
    • 另外,更多代码将有助于缩小问题范围。
    • 这解决了非常感谢!我会投票给你,但我的信用还不够高!!!非常感谢!!!
    【解决方案2】:

    “动态”加载单元格是一种标准行为,它确实应该足够快。至少,这不是导致性能下降的原因。

    我认为,问题在于您可能会在 cellForRowAtIndexPath 方法中为特定单元格加载数据(我不熟悉 Swift,但方法应该或多或少相同)。

    您应该事先准备好数据(独立于对cellForRowAtIndexPath 的调用),然后将此预加载的数据设置到您的单元格中。

    【讨论】:

    • @JamesShelton,我想最好将此代码包含在问题中:) 作为评论很难阅读。
    • 感谢您分享您的想法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多