คำถามติดแท็ก grand-central-dispatch

Grand Central Dispatch (GCD) มีกลไกที่เรียบง่ายและมีประสิทธิภาพสำหรับการทำงานพร้อมกันและแบบอะซิงโครนัสโดยเฉพาะในระบบปฏิบัติการ Apple (เช่น iOS, macOS, watchOS และ tvOS) แต่ยังรวมถึง FreeBSD และ MidnightBSD

7
ทางเลือกในการ dispatch_get_current_queue () สำหรับการบล็อกให้เสร็จสมบูรณ์ใน iOS 6?
ฉันมีวิธีการที่ยอมรับบล็อกและบล็อกเสร็จสิ้น บล็อกแรกควรทำงานในพื้นหลังในขณะที่บล็อกการเสร็จสมบูรณ์ควรทำงานในคิวใดก็ตามที่เมธอดเรียก ในช่วงหลังฉันใช้มาตลอดdispatch_get_current_queue()แต่ดูเหมือนว่าจะเลิกใช้งานใน iOS 6 ขึ้นไป ฉันควรใช้อะไรแทน?

5
รอจนกว่างานจะเสร็จสิ้น
ฉันจะทำให้รหัสของฉันรอจนกว่างานใน DispatchQueue จะเสร็จสิ้นได้อย่างไร มันต้องการ CompletionHandler หรืออะไร? func myFunction() { var a: Int? DispatchQueue.main.async { var b: Int = 3 a = b } // wait until the task finishes, then print print(a) // - this will contain nil, of course, because it // will execute before the code above } …

2
ARC รองรับคิวการจัดส่งหรือไม่
ฉันกำลังอ่านเอกสารของ Apple เกี่ยวกับ "Memory Management for Dispatch Queues": แม้ว่าคุณจะใช้แอปพลิเคชันที่เก็บรวบรวมขยะคุณยังต้องรักษาและปล่อยคิวการจัดส่งและวัตถุจัดส่งอื่น Grand Central Dispatch ไม่รองรับโมเดลการรวบรวมขยะสำหรับการเรียกคืนหน่วยความจำ ฉันรู้ว่า ARC ไม่ใช่คนเก็บขยะ แต่ฉันอยากแน่ใจว่าฉันไม่จำเป็นต้อง dispatch_retain และ dispatch_release dispatch_queue_t ของฉัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.