屏幕显示太慢

Screen showing too slowly

我初始化了我的屏幕并加载了 viewDid 中的所有元素,将它们隐藏并设置为在解析 JSON 后显示它们,我在 [=13= 中有一个 collectionView ] 在其中同步加载我下载的元素。下载和解析 JSON 不到一秒钟,但要显示我的屏幕需要很多时间,但有趣的是,当我尝试滚动屏幕​​时,它会立即出现,所以我认为两者都有问题我不知道的 scrollViewcollectionView。有人遇到过类似情况吗?

collectionView.dataSource = self is in the .hidden = false function

代码很多,我不确定是否会有帮助。

尝试创建一个新函数来更新视图的隐藏元素 然后这样称呼它:

[self performSelectorOnMainThread:@"your-selector" withObject:nil waitUntilDone:YES]

因为在异步调用中,视图更新不会时不时地生效。

希望对您有所帮助!

对于 swift 它通过包装函数来工作,该函数在解析 JSON 之后立即取消隐藏元素:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
            dispatch_async(dispatch_get_main_queue()) {
                self.loadScreen()
            }
        })

感谢 iremk 提供 objective c 等价物:)