Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

معامل دمج Nil

جزء من قسم الأساسيات في رحلة Swift على Coddy. الدرس 14 من 86.

أحيانًا تريد فقط توفير قيمة default عندما يكون optional هو nil، من دون كتابة عدة أسطر من التعليمات البرمجية. يُجري عامل الدمج مع nil في Swift (??) ذلك تمامًا. فهو يفك تغليف optional إذا كانت له قيمة، أو يُرجع قيمة افتراضية إذا كان nil.

let nickname: String? = nil
let displayName = nickname ?? "Guest"
print(displayName) // Guest

بما أن nickname تساوي nil، يُرجع العامل "Guest" بدلًا من ذلك. إذا كانت nickname تحتوي على قيمة، فستُستخدم تلك القيمة.

let username: String? = "SwiftCoder"
let greeting = username ?? "Anonymous"
print(greeting) // SwiftCoder

عامل دمج nil مثالي للأسطر البرمجية الفردية التي تحتاج فيها إلى قيمة بديلة. إنه أكثر ترتيبًا من كتابة عبارة if let عندما تريد ببساطة استبدال nil بقيمة default. تكون النتيجة دائمًا قيمة غير optional، لذا يمكنك استخدامها مباشرةً دون الحاجة إلى فك تغليفها مرة أخرى.

challenge icon

التحدي

سهل
اكتب دالة getDisplayName تأخذ username اختياريًا وdefaultName، ثم تُرجع اسم العرض المناسب باستخدام عامل دمج nil.

إذا كان اسم المستخدم فارغًا (مُمثّلًا بسلسلة فارغة "")، فاعتبره nil وأرجِع الاسم الافتراضي. وإلا، فأرجِع اسم المستخدم.

المعلمات:

  • username (String): اسم المستخدم (تمثل السلسلة الفارغة القيمة nil)
  • defaultName (String): الاسم الاحتياطي المراد استخدامه

القيمة المُرجعة: اسم المستخدم إذا لم يكن فارغًا، وإلا defaultName.

تلميح: داخل دالتك، خزّن اسم المستخدم في متغير من النوع String?، وإذا كان اسم المستخدم يساوي "" فعيّن nil إلى ذلك المتغير باستخدام if بسيطة. ثم استخدم ?? لتوفير القيمة الاحتياطية.

جرّب بنفسك

func getDisplayName(username: String, defaultName: String) -> String {
    // اكتب الكود هنا
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: Playground لـ Swift