تجميع NSoperation يعمل على نفس الكائن والكشف عند الانتهاء من IOS
-
13-12-2019 - |
سؤال
لدي تطبيق iOS حيث ينتج 5 NSBlockoperation nsarray من الكائنات كل منها وإضافته إلى NSMutablerray متزامنة مشتركة يعمل كمستحضر بيانات قابل للولاء.
العملية مستقلة عن بعضها البعض، وبمجرد انتهائها، أحتاج إلى تشغيل تحديث بيانات JitalView.
لسوء الحظ، لم أستطع إيجاد طريقة للقيام بذلك باستخدام NSoperation.هل أحتاج إلى استخدام تصميم مؤشر ترابط متعدد آخر؟
المحلول
أضف مكالمة بيانات إعادة التحميل الخاصة بك إلى Nxoperation آخر، والتي لها اعتزازها (انظر addDependency:
) العمليات الخمسة الأخرى.بعد ذلك، لن يتم تنفيذها حتى تكتمل الآخرون.
تأكد من التفاف مكالمات UI الخاصة بك في إرسال GCD إلى الخيط الرئيسي.
من المرجع NSoperation:
تعد Tescriptionطريقة ملائمة لتنفيذ العمليات بأمر محدد.يمكنك إضافة وإزالة التبعيات للحصول على عملية باستخدام AddEdependency: و RementPendency: الأساليب.بشكل افتراضي، لا يعتبر كائن التشغيل الذي يحتوي على تبعيات جاهزة حتى تنتهي جميع كائنات التشغيل التابعة إلى تنفيذها.بمجرد انتهاء آخر عمليات التشغيل التابعة، يصبح كائن التشغيل جاهزا وقادر على التنفيذ.