Avatar ·

ماذا تعني علامة التعجب (!) في Swift؟ مشكلة الأنواع الاختيارية

مرحبًا! لقد بدأت للتو في تعلم Swift وأواجه باستمرار علامة التعجب (!) في كود الآخرين. على سبيل المثال، رأيت هذا الكود: ```swift var name: String! = "Alice" print(name!) let array: [String?] = ["hello", nil, "world"] if let value = array.first { print(value!) // لماذا ! هنا؟ } ``` أفهم أن هذا له علاقة بالأنواع الاختيارية (Optionals)، لكني أشعر بالارتباك. في بعض الأماكن أرى علامة الاستفهام (?)، وفي أخرى علامة التعجب (!). قيل لي إن ! تعني "استخراج إجباري" (forced unwrapping)، لكني لا أفهم متى يكون استخدامها آمنًا. على سبيل المثال، إذا كتبت: ```swift var optionalNumber: Int? = nil let number = optionalNumber! // تعطل التطبيق! ``` فسيتعطل التطبيق مع خطأ. لماذا نحتاج إلى هذا العامل الخطير؟ هل هناك بدائل أكثر أمانًا؟ كيف يمكن العمل بشكل صحيح مع الاختياريات في Swift؟ اشرح لي بالتفصيل مع أمثلة. <<>>

ما هي الأنواع الاختيارية