Avatar ·

ما هو Optional (النوع الاختياري) في Swift ولماذا هو مطلوب؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Swift وواجهت مفهومًا لم أفهمه تمامًا بعد — Optional (القيم الاختيارية). في لغات أخرى، مثل Java أو C++، اعتدت على أن المتغير يمكن أن يكون ببساطة مساويًا لـ null، وهذا طبيعي. لكن في Swift الأمر مختلف: المترجم يشتكي باستمرار إذا حاولت تعيين nil لمتغير عادي. هذا مثال يربكني. أكتب تطبيق ملاحظات بسيط وأريد أن يكون حقل نص الملاحظة فارغًا (nil) إذا لم يدخل المستخدم شيئًا: ```swift var noteTitle: String = nil // خطأ: لا يمكن تعيين nil لنوع 'String' ``` المترجم يعطي خطأ. أفهم أنني بحاجة لاستخدام علامة الاستفهام: ```swift var noteTitle: String? = nil // هذا يعمل ``` لكن عندها يحدث لدي ارتباك عند التعامل مع هذه القيمة. على سبيل المثال، إذا أردت طباعة طول السلسلة أو دمجها مع سلسلة أخرى، المترجم يشتكي مرة أخرى: ```swift var noteTitle: String? = "ملاحظتي" pr