بازدید: ۵٨٢

متغیرهای اختیاری یا Optionals (آموزش Swift)

بازگشت به صفحه اصلی آموزش سوییفت (Swift)

سوییفت از یک نوع داده جدید به نام Optional (اختیاری) استفاده می کند که به بود و نبود یک مقدار مربوط می شود. داده اختیاری بدین معناست  که " یا مقداری وجود دارد که برابر X است" یا "اصلا هیچ مقداری وجود ندارد". به عبارتی دیگر دو مقدار ممکن برای آن در نظر گرفته می شود. یا هیچ(none) است و یا some(T) که در آن T یک مقدار از نوع داده مربوطه می باشد.

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

 

متغیرهای اختیاری Optional در سوییفت

 

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

 

متغیرهای اختیاری Optional در سوییفت

 

تعریف بالا معادل آن است که مقدار اولیه آن را تهی (nil) قرار دهید:

 

متغیرهای اختیاری Optional در سوییفت

 

اجازه دهید تا با استفاده از مثال زیر پی به نحوه عملکرد مقدار Optional در سوییفت ببریم:

 

متغیرهای اختیاری Optional در سوییفت

 

با اجرای برنامه فوق در Playground، نتیجه زیر حاصل می شود:

 

متغیرهای اختیاری Optional در سوییفت

 

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

 

برداشتن گیومه

 

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

 

متغیرهای اختیاری Optional در سوییفت

 

با اجرای برنامه فوق در Playground، نتیجه زیر حاصل می شود:

 

متغیرهای اختیاری Optional در سوییفت

 

اکنون برای اینکه مقدار متغیر را به درستی نمایش دهید باید گیومه اطراف آن را بردارید.

 

متغیرهای اختیاری Optional در سوییفت

 

با اجرای برنامه فوق در Playground، نتیجه زیر حاصل می شود:

 


متغیرهای اختیاری Optional در سوییفت

 

برداشت خودکار گیومه

 

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

 


متغیرهای اختیاری Optional در سوییفت

 

با اجرای برنامه فوق در Playground، نتیجه زیر حاصل می شود:

 

متغیرهای اختیاری Optional در سوییفت

 

استفاده از دستور If برای یک مقدار Optional

 

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

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

 

متغیرهای اختیاری Optional در سوییفت

 

اکنون با بیان یک مثال نحوه استفاده از آن را نشان می دهیم:

 

متغیرهای اختیاری Optional در سوییفت

 

با اجرای برنامه فوق در Playground، نتیجه زیر حاصل می شود:

 

متغیرهای اختیاری Optional در سوییفت

 

بازگشت به صفحه اصلی آموزش سوییفت (Swift)

طراحی سایت و سئو توسط ضابط