有些我如何能够连续工作,但仍然我不清楚,所以我需要简单的序列示例我的方法来连续执行.
我将我的功能分成4部分,现在希望它们能够连续执行
[self ReadAllimagesFromPhotoslibrary];[self WriteFewImagestoDirectory];[self GettingBackAllimagesFromFolder]; [self MovetoNextVIEw];解决方法 为了跟进和改进 iCoder的答案,你可以并且应该做以下.
dispatch_queue_t serialQueue = dispatch_queue_create("com.unique.name.queue",disPATCH_QUEUE_SERIAL);dispatch_async(serialQueue,^{ [self ReadAllimagesFromPhotoslibrary]; }); dispatch_async(serialQueue,^{ [self WriteFewImagestoDirectory];});dispatch_async(serialQueue,^{ [self GettingBackAllimagesFromFolder]; });dispatch_async(serialQueue,^{ [self MovetoNextVIEw];});
尽管上述调用是异步的,但它们将按照disPATCH_QUEUE_SERIAL的状态排队并连续运行.同步和异步之间的区别在于,通过同步,您的代码将在运行以下代码之前暂停并等待块答案,因此如果执行时间长,可能会冻结您的UI.而使用异步,代码运行,块被异步返回.
但是,由于GCD(Grand Central dispatch),您存储在disPATCH_QUEUE_SERIAL中的任务将按照添加的顺序等待并执行.
总结以上是内存溢出为你收集整理的ios – 简单的GCD串行队列示例,如使用块的FIFO全部内容,希望文章能够帮你解决ios – 简单的GCD串行队列示例,如使用块的FIFO所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)