متغیرهای اختیاری (Optional)

در Swift، متغیرها می توانند به صورت اختیاری (Optional) تعریف شود. این بدین معنی است که متغیر می تواند دارای مقدار یا تهی باشد. همانطور که می دانید بعد از تعریف یک متغیر باید یک مقدار هم به آن اختصاص دهید:

var number: Int = 10

مثلا در مثال بالا یک متغیر به نام number داریم که مقدار آن 10 است. حال اگر بخواهیم همین متغیر را برابر nil (تهی) قرار دهیم، با خطای کامپایلری مواجه می شویم:

number = nil

در بعضی شرایط ممکن است که بخواهید یک متغیر تعریف کنید که دارای مقدار تهی باشد. برای این منظور کافیست که در جلوی نوع آن متغیر از علامت ? استفاده کنید:

var number: Int? = 10

ممکن است که تا اینجای کار، مطلب برایتان گنگ باشد، اما نگران نباشید، چون کاربرد آن را در درس های آینده برایتان توضیح می دهیم. برای استفاده از مقدار یک متغیر اختیاری باید ابتدا متغیر را باز (unwrap) کرد. برای این کار کافیست که در جلوی نام متغیر از علامت ! استفاده کنید:

var number: Int? = 10

print(number!)
10

همانطور که در خط 2 مشاهده می کنید، در جلوی نام متغیر از علامت ! استفاده شده است. یک راه ساده تر برای کار با متغیرهای اختیاری و استفاده از مقادیر آنها استفاده از علامت ! در هنگام تعریف این متغیرهاست. به مثال زیر توجه کنید:

var number: Int! = 10

print(number)

در این روش بعد از نوع متغیر علامت ! را گذاشته و دیگر لازم نیست برای استفاده از مقدار آن، دوباره از این علامت استفاده کنید. به این روش باز کردن خودکار یا Automatic unwrap گفته می شود. تا اینجای کار توضیح در مورد متغیرهای اختیاری کافیست. برخی نکات تکمیلی در مورد این متغیرها، مستلزم یادگیری مباحثی چون متدها، دستورات شرطی و … است که در آینده آنها را هم توضیح می دهیم.