تسلسل القيم الافتراضية
اجمع عدة قيم بديلة بطريقة واضحة.
تسلسل القيم الافتراضية درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 4 دروس في المجموع.
أكثر من قيمة بديلة
قد تكون لديك أحيانًا عدة مصادر اختيارية، وتريد استخدام أول مصدر ليس nil. يمكنك وصل عدة عوامل ?? معًا.
let primary: String? = nil
let secondary: String? = "Backup"
let name = primary ?? secondary ?? "Default"
print(name)كيفية قراءة السلسلة
اقرأ a ?? b ?? c هكذا: استخدم a إذا لم تكن nil، وإلا فاستخدم b، وإلا فاستخدم c. ويتوقف التقييم عند العثور على أول قيمة.
let a: Int? = nil
let b: Int? = nil
let c = 7
print(a ?? b ?? c)الأول غير nil هو الفائز
بمجرد أن يوفر أحد الخيارات قيمة، يتم تجاهل الخيارات الباقية. هنا يفوز secondary، ولا يتم الوصول إلى القيمة الافتراضية النهائية مطلقًا.
let primary: Int? = nil
let secondary: Int? = 50
let fallback = 0
print(primary ?? secondary ?? fallback)كل القيم اختيارية حتى الأخيرة
في السلسلة، يكون كل معامل، باستثناء الأخير، قيمة اختيارية عادةً. أما الأخير فهو القيمة الافتراضية المضمونة غير الاختيارية.
let nick: String? = nil
let full: String? = nil
let result: String = nick ?? full ?? "Anonymous"
print(result)التقييم قصير الدارة
مثل && و||، تستخدم سلسلة ?? التقييم قصير الدارة. وبمجرد العثور على قيمة، لا تُقيَّم التعبيرات اللاحقة.
func makeDefault() -> Int {
print("default computed")
return 0
}
let found: Int? = 9
print(found ?? makeDefault())التجميع من اليمين
العامل ?? مترابط من اليمين، لذلك تُجمع a ?? b ?? c على صورة a ?? (b ?? c). وهذا هو السلوك المطلوب تمامًا للقيم البديلة.
let x: Int? = nil
let y: Int? = nil
let z: Int? = 3
print(x ?? (y ?? (z ?? 0)))قيم افتراضية متعددة الطبقات للإعدادات
تتألق السلاسل عند التعامل مع إعدادات متعددة الطبقات: إعداد المستخدم، ثم إعداد التطبيق، ثم قيمة افتراضية ثابتة في الشيفرة.
let userTheme: String? = nil
let appTheme: String? = "light"
let theme = userTheme ?? appTheme ?? "system"
print(theme)الدمج مع التحويلات
يمكنك وصل التحويلات القابلة للفشل بقيمة افتراضية نهائية لتحليل الإدخال بطريقة موثوقة.
let raw: String? = nil
let parsed = raw.flatMap { Int($0) } ?? 0
print(parsed)البحث في القواميس ضمن سلسلة
يمكن وصل عدة عمليات بحث في القواميس بحيث يُستخدم أول مفتاح متاح.
let prefs = ["color": "blue"]
let pick = prefs["accent"] ?? prefs["color"] ?? "gray"
print(pick)الحفاظ على قِصر السلاسل
تُقرأ قيمتان أو ثلاث قيم بديلة بسهولة. وإذا وجدت نفسك تصل عددًا كبيرًا منها، ففكّر في استخراج المنطق إلى دالة لتحسين الوضوح.
let one: String? = nil
let two: String? = nil
let three = "C"
print(one ?? two ?? three)نوع نتيجة السلسلة
تكون النتيجة النهائية للسلسلة غير اختيارية ما دام المعامل الأخير غير اختياري. وهذا يجعل استخدام القيمة آمنًا فورًا.
let v1: Int? = nil
let v2: Int? = 4
let total: Int = (v1 ?? v2 ?? 0) + 1
print(total)تحقق سريع
اختبر سلاسل القيم البديلة.
مراجعة: وصل القيم الافتراضية
صِل عوامل ?? لتجربة عدة قيم اختيارية بالترتيب، ثم ارجع إلى قيمة افتراضية نهائية. تفوز أول قيمة ليست nil، ويتوقف التقييم قصير الدارة، وتكون النتيجة غير اختيارية.
let p: String? = nil
let s: String? = "ok"
print(p ?? s ?? "none")الأسئلة الشائعة
هل درس «تسلسل القيم الافتراضية» مجاني؟
نعم — نص درس «تسلسل القيم الافتراضية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 4 دروس في المجموع.
ماذا ستتعلم في «تسلسل القيم الافتراضية»؟
اجمع عدة قيم بديلة بطريقة واضحة. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟
لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «تسلسل القيم الافتراضية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟
نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- عامل الدمج مع nil
- تسلسل القيم الافتراضية
- القيم الافتراضية لمعلمات الدوال
- الفهارس الفرعية الافتراضية للقواميس