فك القيم باستخدام If Let
جزء من قسم الأساسيات في رحلة Swift على Coddy. الدرس 12 من 86.
للوصول إلى القيمة داخل قيمة اختيارية safely، نستخدم if let: وهي تقنية تُسمى الربط الاختياري. تتحقق هذه التقنية مما إذا كانت القيمة الاختيارية تحتوي على قيمة contains، وإذا كان الأمر كذلك، تُجري لها unwrap في ثابت مؤقت.
var username: String? = "Swift_Dev"
if let name = username {
print("Welcome, \(name)")
} else {
print("No username found")
}
// مرحباً، Swift_Devهنا، تتحقق if let مما إذا كانت username تحتوي على قيمة. وبما أنها تحتوي عليها، تُفكّ القيمة إلى name، الذي لا يكون موجودًا إلا داخل كتلة if. وإذا كانت username تساوي nil، فستُنفَّذ كتلة else بدلًا من ذلك.
var age: Int? = nil
if let unwrappedAge = age {
print("Age is \(unwrappedAge)")
} else {
print("Age not provided")
}
// العمر غير متوفربما أن age تساوي nil، يفشل الشرط وتُنفَّذ كتلة else. يمنع هذا حدوث أعطال كانت ستقع إذا حاولنا استخدام قيمة مفقودة مباشرةً.
التحدي
سهلتم تزويدك بالمتغير التالي:
var nickname: String? = "CoddyLearner"استخدم if let لإلغاء التفاف nickname بأمان. إذا كان يحتوي على قيمة، فاطبع Hello, [value]! حيث إن [value] هو اللقب بعد إلغاء التفافه. وإذا كان nil، فاطبع No nickname set.
جرّب بنفسك
var nickname: String? = "CoddyLearner"
// TODO: اكتب الكود الخاص بك أدناه
// استخدم if let لفك تغليف nickname بأمان
// إذا كان يحتوي على قيمة، اطبع "Hello, [value]!"
// إذا كان nil، اطبع "No nickname set"يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالإسناد المركبمراجعة - عمليات رياضية بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
دالة الطباعةتضمين النصوصإدخال ReadLineتحويل الأنواعمراجعة - حتى 120مراجعة - True أو False10الدوال
تعريف دالةالمعاملات والوسائطقيم الإرجاعتسميات الوسائطمراجعة - دالة Sigmaمراجعة - دالة Validationالقيم الافتراضية2المتغيرات
Let مقابل Varتوصيف الأنواع (Type Annotations)الأرقامStringBooleanقواعد التسميةمراجعة - تهيئة المتغيرات5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعامل الثلاثي (Ternary Operator)8حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات3القيم الاختيارية (Optionals)
ما هي القيم الاختياريةفك القيم باستخدام If Letاستخدام Guard Letمعامل دمج Nilمراجعة - فك القيم بأمان9حلقات التكرار
حلقة For-Inحلقة Whileحلقة Repeat-WhileBreakContinueمراجعة - المضروب (Factorial)النطاقات في حلقات التكرارالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)تدرّب بنفسك: Playground لـ Swift