Avatar ·

كيفية استخدام dispatch_after بشكل صحيح في Swift لتأخير تنفيذ الكود؟

مرحبًا! لقد بدأت للتو في تعلم Swift وأحاول فهم Grand Central Dispatch. سابقًا في Objective-C، كنت أستخدم dispatch_after لتأخير تنفيذ الكود، على سبيل المثال: ```objc dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"لقد مرت ثانيتان"); }); ``` لكن الآن، عندما أكتب في Swift، لست متأكدًا من كيفية إعادة كتابة هذا الكود بشكل صحيح. جربت شيئًا مثل: ```swift dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue()) { print("لقد مرت ثانيتان") } ``` لكن المترجم يشتكي من الصياغة. رأيت أنه في Swift 3 وما فوق، تغير الكثير في GCD API، والطريقة القديمة لم تعد تعمل. أحتاج إلى تأخير قبل تحديث UI (مثل عرض alert أو تغيير label). من فضلك، أخبرني كيف أفعل ذلك بشكل صحيح في Swift الحديث؟ يُفضل مع أمثلة كود لأفهم بالضبط كيف يعمل. شكرًا مقدمًا!