كما هو الحال في اي لغة برمجة نحتاج لتخزين المعلومات وستخدامها داخل التطبيق ف نقوم بحجز متغير اي مساحة في الذاكرة لحفظ هذه المعلومات , وكما هو معلوم فإن المعلومات ليست كلها متشابهة فيوجد العديد من الانواع من هذه البيانات مثل الارقام الصحيح او ارقام عشرية او نصوص او سلاسل او احرف …..الخ

في هذا الدرس سنتعل انواع البيانات الممكن تخزينها في الذاكرة .

Int :  يستخدم لتخزين رقم صحيح سواء كان سالب او موجب ويوجد نوعين من ال Int النوع الاول Int32 والنوع الثاني  Int64 اي يوجد منه سعتين لحجز قيمة مكونة من 32 bit او  bit 64 .

Float : يستخدم لتخزين قيمة رقم عشري بسعة 32 bit .

Double : يستخدم لتخزين قيمة رقم عشري بسعة 64 bit .

Bool : يستخدم لحفظ قيمة منطقيم اما True او False .

String : يستخدم لحفظ قيمة تحتوي على نص .

Character : يستخدم لحفظ قيمة تحتوي على حرف واحد .

في الجدول التالي سنعرض لكم كل نوع من هذه الانواع وكم المساحة اللتي يحجزها في الذاكرة وكم القيم اللتي يمكن ان نحفظها بداخلها :

ال Optional

مثلا: تخيل أنك تقوم بعمل موقع و حتى يقوم المستخدم بالتسجيل فيه عليه أن يضيف بياناته، هناك بعض البيانات المهمة التي يجب أن يضعها المستخدم كالاسم و الإيميل.. الخ لكن لنفرض أن أحد هذه البيانات هو رقم الجوال، عادة و في أغلب المواقع رقم الجوال ليس إجباريا و يمكن للمستخدم أن يضعه باختياره، و بالتالي أن كانت القيمة x تمثل رقم الجوال فليس من الضروري أن تحوي قيمة فبعض المستخدمين سيقومون بإضافتها و الآخرون لا..

و هنا تكمن أهمية الoptional حيث تتيح فرصة للمتغير أن يحوي قيمة معينة أو أن يكون بلا قيمة ( تكون له قيمة nil )

*أحد القيم التي يمكن إسنادها للمتغيرات بأنواعها المختلفة هي قيمة nil و التي تعني ( لا شيء ) و هي التي تقابلها null في لغات أخرى كالجافا مثلا

و هذه القيمة تكمن أهميتها في:

-أنها تعطي قيمة ابتدائية للمتغير و بالتالي يمكن استخدام المتغير دون أخطاء.

-أن هذه القيمة هي ليست Int و لا String و لا Double… الخ بل هي قيمة مميزة تعطينا إشارة أن المتغير الذي يحملها لا يحوي قيمة.

– أن هذه القيمة يمكن استبدالها مستقبلا بقيمة أخرى حسب نوع المتغير.

 

عند تعريف هذا المتغير بإضافة (؟) بجانب نوعه عند تعريفه ليبدو كالتالي..

var x : Int? = nil 


و الآن يمكنك أن تطلق على المتغير x اسم optional و هي تعني اختياري أي بمعنى آخر : لك الخيار في تحديد ما إذا كان الx يساوي قيمة حقيقية من نوع Int أو لا يحوي قيمة أصلا( يساوي nil ) و هذا بفضل علامة الاستفهام التي قمنا بإضافتها بجانب المتغير.