با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش Swift را دنبال می کنند. در Swift می توان نوع متغیرها را بصورت اختیاری تعیین کرد ، همچنین در حالت پیش می توانید فقط از کلمه ی کلیدی var استفاده کنید تا کامپایلر بر اساس مقدار درون متغیر نوع آن را تشخیص دهد، تعیین نوع متغیرها در برخی زبان های برنامه نویسی اجباری است ، اما در Swift جزء موارد اختیاری محسوب می شود. برای آشنایی با متغیرهای اختیاری در ادامه این بخش با ما همراه باشید.
در ادامه این آموزش ما شما را با اختیاری ها در Swift و ساختار کلی آن آشنا می کنیم.
نحوه اختصاص دادن نوع Int به یک متغیر در Swift بصورت زیر است:
1 | var perhapsInt: Int? |
نحوه اختصاص دادن نوع String به یک متغیر در Swift بصورت زیر است:
1 | var perhapsStr: String? |
مثال زیر را در نظر بگیرید:
1 2 3 4 5 6 7 | var myString:String? = nil if myString != nil { print(myString) } else { print("myString has nil value") } |
هنگامی که برنامه ی فوق را با استفاده از playground اجرا کنید نتیجه ی زیر را خواهد داشت:
1 | myString has nil value |
اگر یک متغیر را در نوع اختیاری تعریف کردید، پس برای بدست آوردن مقدار از این متغیر، باید آن را باز کنید.
برای اینکار باید علامت ؟ را به انتهای آن اضافه کنید:
به مثال زیر توجه کنید:
1 2 3 4 5 6 7 8 9 | var myString:String? myString = "Hello, Swift 4!" if myString != nil { print(myString) } else { print("myString has nil value") } |
نتیجه ی اجرای برنامه ی فوق در playground بصورت زیر خواهد بود:
1 | Optional("Hello, Swift 4!") |
حالا برای بازدهی درست متغیر حالت unwrapping را اعمال می کنیم:
1 2 3 4 5 6 7 8 9 | var myString:String? myString = "Hello, Swift 4!" if myString != nil { print( myString! ) } else { print("myString has nil value") } |
وقتی برنامه ی فوق را با استفاده از playground اجرا کنید نتیجه ی زیر را مشاهده خواهید کرد:
1 | Hello, Swift 4! |
شما می توانید متغیرهای اختیاری را با استفاده از علامت تعجب به جای علامت سوال اعلام کنید.
چنین متغیرهای اختیاری به طور خودکار باز خواهد شد و نیازی به استفاده از علامت تعجب بیشتری در انتهای متغیر برای دریافت مقدار تعیین شده نیست.
به مثال زیر توجه کنید:
1 2 3 4 5 6 7 8 | var myString:String! myString = "Hello, Swift 4!" if myString != nil { print(myString) } else { print("myString has nil value") } |
نتیجه ی اجرای برنامه ی فوق با استفاده از playground بصورت زیر خواهد بود:
1 | Hello, Swift 4! |
از optional binding برای اینکه آیا نوع تعریف شده حاوی مقدار است یا خیر استفاده می کنیم.
و اگر چنین باشد، آن مقدار را به عنوان یک متغیر ثابت یا ثابت در دسترس قرار دهید.
یک اتصال اختیاری برای عبارت if به شرح زیر است :
1 2 3 | if let constantName = someOptional { statements } |
مثال زیر نحوه ی استفاده از optional binding را نشان می دهد:
1 2 3 4 5 6 7 8 | var myString:String? myString = "Hello, Swift 4!" if let yourString = myString { print("Your string has - \(yourString)") } else { print("Your string does not have a value") } |
نتیجه ی اجرای برنامه ی فوق با استفاده از playground به صورت زیر خواهد بود:
1 | Your string has - Hello, Swift 4! |
با استفاده از ساختار اختیاری ها در Swift می توانید به راحتی نوع هر متغیر را اعلام کرده و سپس می توانید مقدار مورد نظر را به متغیر تعریف شده نسبت بدهید، از این رو مباحث این بخش را به اختیاری ها در Swift اختصاص دادیم.