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

فك القيم باستخدام If Let

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

للوصول بأمان إلى القيمة الموجودة داخل الاختياري (optional)، نستخدم if let — وهي تقنية تسمى الربط الاختياري (optional binding). يتحقق هذا مما إذا كان الاختياري يحتوي على قيمة، وإذا كان الأمر كذلك، فإنه يقوم بفكها في ثابت مؤقت.

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. هذا يمنع الانهيارات التي قد تحدث إذا حاولنا استخدام قيمة مفقودة مباشرة.

challenge icon

التحدي

سهل

لقد تم تزويدك بالمتغير التالي:

var nickname: String? = "CoddyLearner"

استخدم if let لفك تغليف nickname بأمان. إذا كان يحتوي على قيمة، فقم بطباعة Hello, [value]! حيث [value] هو الاسم المستعار الذي تم فك تغليفه. إذا كان nil، فقم بطباعة No nickname set.

ورقة مرجعية

استخدم if let (الربط الاختياري) لفك تغليف الاختياري (optional) بأمان والوصول إلى قيمته:

var username: String? = "Swift_Dev"

if let name = username {
    print("Welcome, \(name)")
} else {
    print("No username found")
}
// Welcome, Swift_Dev

إذا كان الاختياري (optional) يحتوي على قيمة، يتم فك تغليفه في ثابت مؤقت موجود فقط داخل كتلة if. أما إذا كان الاختياري nil، يتم تنفيذ كتلة else:

var age: Int? = nil

if let unwrappedAge = age {
    print("Age is \(unwrappedAge)")
} else {
    print("Age not provided")
}
// Age not provided

جرّب بنفسك

var nickname: String? = "CoddyLearner"

// TODO: اكتب كودك بالأسفل
// استخدم if let لفك تغليف nickname بأمان
// إذا كان يحتوي على قيمة، اطبع "!Hello, [value]"
// إذا كان nil، اطبع "No nickname set"
quiz iconاختبر نفسك

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

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