السلسلة الاختيارية وأساسيات معالجة الأخطاء
استخدم السلسلة الاختيارية، وأنماط guard، وtry?/try!، وdo/catch لمعالجة غياب القيم والأخطاء. وتعلّم Result كبديل.
السلسلة الاختيارية وأساسيات معالجة الأخطاء درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 3 دروس في المجموع.
مقدمة
يربط هذا الدرس بين القيم الاختيارية ومعالجة الأخطاء. استكشف التسلسل، وأنماط guard، وtry?/try!، وResult.
التسلسل الاختياري
يتوقف التسلسل الاختياري (a?.b?.c) ويُرجع nil إذا كانت أي حلقة من حلقاته nil.
struct User { var address: Address? }
struct Address { var city: String }
let u: User? = User(address: Address(city: "Paris"))
print(u?.address?.city) // Optional("Paris")نمط guard
يخرج guard let مبكرًا إذا كانت قيمة اختيارية تساوي nil، مع إبقاء القيمة المستخرجة متاحة بعد ذلك.
func greet(_ name: String?) {
guard let n = name else {
print("No name")
return
}
print("Hello, \\(n)!")
}
greet(nil)
greet("Ada")try? مقابل try!
تُرجع try? القيمة nil عند حدوث خطأ. ويتسبب try! في تعطل البرنامج إذا تم طرح خطأ.
enum ParseErr: Error { case bad }
func parse(_ s: String) throws -> Int {
guard let n = Int(s) else { throw ParseErr.bad }
return n
}
let ok = try? parse("10") // Int?
let fail = try? parse("xx") // nil
// let crash = try! parse("xx") // runtime crashdo/catch
تعالج do/catch الأخطاء المطروحة بشكل صريح.
do {
let n = try parse("42")
print(n)
} catch {
print("error:", error)
}نوع Result
يمثّل Result<T,Error> النجاح أو الفشل من دون طرح خطأ.
func safeParse(_ s: String) -> Result<Int,Error> {
do { return .success(try parse(s)) }
catch { return .failure(error) }
}
print(safeParse("5"))
print(safeParse("oops"))سؤال عن التسلسل الاختياري
تحقق سريع: ماذا يفعل التسلسل الاختياري؟
مراجعة
مراجعة: اجمع بين القيم الاختيارية ومعالجة الأخطاء. استخدم التسلسل وguard وtry?/try! وdo/catch وResult لإدارة غياب القيم وحالات الفشل بأمان.
الأسئلة الشائعة
هل درس «السلسلة الاختيارية وأساسيات معالجة الأخطاء» مجاني؟
نعم — نص درس «السلسلة الاختيارية وأساسيات معالجة الأخطاء» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 3 دروس في المجموع.
ماذا ستتعلم في «السلسلة الاختيارية وأساسيات معالجة الأخطاء»؟
استخدم السلسلة الاختيارية، وأنماط guard، وtry?/try!، وdo/catch لمعالجة غياب القيم والأخطاء. وتعلّم Result كبديل. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟
لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.
كم من الوقت يستغرق درس «السلسلة الاختيارية وأساسيات معالجة الأخطاء»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟
نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- السلسلة الاختيارية وأساسيات معالجة الأخطاء
- do/catch وتعريف الأخطاء (Enums)
- أنواع Result — Result