الخاصية الغامضة `@isolated(any)` في سويفت 6: ما تحتاج إلى معرفته
2025-09-01

تُدخل سويفت 6 الخاصية `@isolated(any)`، التي تصف عزل الدوال غير المتزامنة، والتي تبدو محيرة في البداية. إنها تتطلب دائمًا وسيطة، لكن هذه الوسيط لا يمكن أن تتغير. تشرح المقالة سبب إدخالها: لحل مشكلة فقدان معلومات العزل أثناء جدولة الدوال غير المتزامنة. توفر `@isolated(any)` الوصول إلى خاصية عزل الدالة، مما يسمح بجدولة أكثر ذكاءً، خاصة عند التعامل مع `Task` و `TaskGroup`، مما يضمن ترتيب تنفيذ المهام على MainActor. على الرغم من أنه يمكن تجاهلها في معظم الحالات، إلا أن فهم `@isolated(any)` أمر بالغ الأهمية لكتابة شفرة متزامنة فعالة وموثوقة عند التعامل مع عزل الدوال غير المتزامنة وجدولتها.
التطوير
الدوال غير المتزامنة