Swift 4 یک نوع داده جدید به نام Optionals را معرفی کرده که عدم وجود یک مقدار را کنترل می کند. Optionals  مشخص می کند که ” یک مقدار وجود دارد و برابر x است” و یا “اصلاً هیچ مقداری وجود ندارد”.
یک Optionals به خودی خود یک نوع و در واقع یک ورودی جدید بسیار قدرتمند در Swift 4 است و دارای دو مقدار ممکن None و (Some (T می باشد که T یک مقدار مرتبط با نوع داده صحیح موجود در Swift 4 است.
در زیر می توانید یک نمونه از نحوه تعریف داده عدد صحیح اختیاری (Optional) را مشاهده کنید:

در زیر می توانید یک نمونه از نحوه تعریف داده رشته ای اختیاری (Optional) را مشاهده کنید:

تعریف بالا صریحا معادل با مقدار اولیه nil است و به این معناست که هیچ مقداری وجود ندارد.

بیایید برای درک چگونگی عملکرد optionals در سوییفت به مثال زیر نگاهی بیاندازیم.

هنگامی که برنامه فوق را با استفاده از playground اجرا کنیم نتیجه زیر را می گیریم.

نوع داده اختیاری (Optional) بسیار شبیه به استفاده از عبارت nil به همراه پوینترها در زبان Objective-C می باشد با این تفاوت که از آن می توان برای تمامی داده ها استفاده کنید نه فقط برای کلاسها.

Forced Unwrapping (برداشتن گیومه)

اگر شما متغیری را از نوع optional تعریف کنید، برای گرفتن داده هایی از این نوع متغیر، باید گیومه اطراف آن را بردارید. برای این منظور باید یک علامت تعجب در انتهای متغیر قرار دهید. به اینکار به اصطلاح unwrap نیز می گویند. بیایید یک مثال ساده بزنیم:

هنگامی که برنامه فوق را با استفاده از playground اجرا کنیم نتیجه زیر را می گیریم.

اکنون بیایید برای بدست آوردن مقدار صحیح متغیر از unwrapping استفاده کنیم.

هنگامی که برنامه فوق را با استفاده از playground اجرا کنیم نتیجه زیر را می گیریم.

Unwrapping خودکار

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

هنگامی که برنامه فوق را با استفاده از playground اجرا کنیم نتیجه زیر را می گیریم.

optional binding (اتصال اختیاری)

از اتصال Optional برای فهمیدن اینکه یک متغییر Optional حاوی یک مقدار است یا نه استفاده کنید، در صورتی که مقداری وجود داشته باشد، مشخص می کنید که این مقدار یک ثابت موقتی است یا متغیر. در مثال زیر از دستور If برای مشخص کردن محتویات یک متغیر اختیاری استفاده می کنیم:

بیایید یک مثال ساده برای درک کاربرد اتصال Optional بزنیم.

هنگامی که برنامه فوق را با استفاده از playground اجرا کنیم نتیجه زیر را می گیریم.

 

کلیدواژه ها :

این خبر را به اشتراک بگذارید :