0Pricing
Swift Academy · درس

ملاحظات حول الأداء — النسخ عند الكتابة

افهم أداء String في Swift: النسخ عند الكتابة (COW)، ومشاركة السلاسل الفرعية، وكيفية إدارة الذاكرة بكفاءة.

ملاحظات حول الأداء — النسخ عند الكتابة درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 3 دروس في المجموع.

مقدمة

الهدف: تعلّم كيف تستخدم Strings أسلوب copy-on-write (COW) للموازنة بين الأداء والأمان. كما تشارك Substrings الذاكرة حتى تظهر الحاجة إلى النسخ.

التخزين المشترك

لا يؤدي إسناد String إلى نسخ الأحرف فورًا. بل يشترك كلاهما في التخزين نفسه.

var a = "Hello World"
var b = a            // no real copy yet
print(a, b)

التعديل يفعّل النسخ

لا تحدث copy إلا عندما تُعدّل إحدى القيمتين. وهذا هو أسلوب copy-on-write.

b.append("!!!")   // triggers a real copy
print("a:", a)
print("b:", b)

Substrings

تشترك Substrings في ذاكرة السلسلة الأصلية. ويؤدي تحويلها إلى String إلى إنشاء نسخة كاملة.

let text = "Hello Swift"
let part = text.prefix(5)   // Substring
print(part)

Substring → String

أنشئ صراحةً قيمة String من Substring إذا أردت أن تمتلك تخزينها الخاص.

let s: String = String(part)
print("Converted:", s)

نصائح

نصائح:

  • تكون عمليات الإسناد غير مكلفة حتى يتم التعديل.
  • انتبه عند الاحتفاظ بـ Substrings لفترة طويلة، إذ إنها تُبقي السلسلة الأصلية كاملةً في الذاكرة.
  • حوّلها إلى String إذا كنت تحتاج إلى تخزين مستقل.

سؤال عن COW

تحقق سريع: ماذا يفعل أسلوب copy-on-write؟

مراجعة

مراجعة: تستخدم Swift أسلوب copy-on-write لجعل Strings فعّالة. تشترك عمليات الإسناد وSubstrings في الذاكرة، ولا تحدث نسخة فعلية إلا عند التعديل أو التحويل الصريح.

الأسئلة الشائعة

هل درس «ملاحظات حول الأداء — النسخ عند الكتابة» مجاني؟

نعم — نص درس «ملاحظات حول الأداء — النسخ عند الكتابة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 3 دروس في المجموع.

ماذا ستتعلم في «ملاحظات حول الأداء — النسخ عند الكتابة»؟

افهم أداء String في Swift: النسخ عند الكتابة (COW)، ومشاركة السلاسل الفرعية، وكيفية إدارة الذاكرة بكفاءة. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟

لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.

كم من الوقت يستغرق درس «ملاحظات حول الأداء — النسخ عند الكتابة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟

نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. السلاسل النصية وUnicode — العناقيد الرسومية والفهارس والسلاسل الفرعية وواجهات API
  2. واجهات API الشائعة — prefix وsuffix وcontains وsplit وjoin
  3. ملاحظات حول الأداء — النسخ عند الكتابة
← العودة إلى Swift Academy