tableview中的cell, 一个cell的frame和手机屏幕的大小一致,加载图片的时候会出现,先加载别的cell的图片而不是第一个,我想做到按顺序一个一个加载.
目前我是用YYKit中的图片扩展来加载图片的.
请问怎么做?有什么思路吗?谢谢
tableview中的cell, 一个cell的frame和手机屏幕的大小一致,加载图片的时候会出现,先加载别的cell的图片而不是第一个,我想做到按顺序一个一个加载.
目前我是用YYKit中的图片扩展来加载图片的.
请问怎么做?有什么思路吗?谢谢
2 回答1.1k 阅读
1 回答1k 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答1.1k 阅读
1 回答939 阅读
GCD信号量应该可以解决,将异步线程强制转化同步线程,加载完上一个图片发送信号显示下一个。解释如下:
在GCD中提供了一种信号机制,也可以解决资源抢占问题(和同步锁的机制并不一样)。GCD中信号量是dispatch_semaphore_t类型,支持信号通知和信号等待。每当发送一个信号通知,则信号量+1;每当发送一个等待信号时信号量-1,;如果信号量为0则信号会处于等待状态,直到信号量大于0开始执行。根据这个原理我们可以初始化一个信号量变量,默认信号量设置为1,每当有线程进入“加锁代码”之后就调用信号等待命令(此时信号量为0)开始等待,此时其他线程无法进入,执行完后发送信号通知(此时信号量为1),其他线程开始进入执行,如此一来就达到了线程同步目的。