شرح توضیح کوتاه در مورد علامت (??)
سلام دوستان
من عضو تازه انجمن هستم و خوب آموزش ها رو شروع کردم ، چندسالی میشه دلفی کارم و هیچ موقعه نتونستم به خودم جرات بدم سمت اپ موبایلی بیام تا اینکه آخر هم امدم سراغ iOS ، خوب من پیش زمینه کامل در زمینه دلفی دارم ولی و بعضا بعضی کدهای Swift من و گیج میکنه ، مثلا در swift فاصله رو کامپایلر خطا میده ! و یا این متغییر های Optional و unwrapped رو اصلا نمیدونم چه ضرورتی داره این پیچیدگی مدام از ! و ? استفاده کنیم. تو Stackoverflow هم یه سری مطلب رو خوندم ولی فقط موندم به ضرورت اینکه چرا swift انقدر تو این زمینه لقمه رو دورن دهن برنامه نویس می چرخونه. مثلا برای بررسی خالی بودن یه رشته یا UITextField چندتا راه رو میشه رفت ولی مثل سایر زبان ها راه رایج بررسی جواب نمیده
if sText <> "" then در زبانی مثل VB
...
یا
if sText <> '' Then در دلفی
ولی شبیه همین کدها در سوئیفت خطا میده
if sText.text != ""
و به ناچار باید دستوری شبیه این استفاده کرد
if sText.text.isEmpty ?? ""
حالا دوستان من تواین دستور معنی استفاده از دوکارتر علامت سوال رو متوجه نشدم
جوابی در لینک زیر پیدا کردم باز دوستان بیشتر راهنمایی کنید ممنون میشم
https://stackoverflow.com/questions/30837085/whats-the-purpose-of-double-question-mark-in-swift
بالاخره هر زبونی ساختار خودش رو داره ، استفاده از علائم جزو مسایلی هست که توی زبانها اولیه بوده ، الان همه ی زبونها دارن میرن به سمت این که با جملات به سیستم عاملها دستور بدن : مثلا برای ست کردن میگیم: set برای گرفتن میگیم: get و این طبیعیه ، هر زبونی اینطوره و شما اگه کمی جلو برید با ای زبون عادت میکنید و میگید چرا توی دلفی بجای استفاده از سفتن مثلا عرض میکنم : ست و گت از سیمبول استفاده کرده. فقط اینو بدونید که هر زبونی تمایز خاص خودشو داره و چیزی کاملا طبیعی هست.
اما راجع به پاسخ خود سوال شما ، فکر میکنم دولینک پایین به دردتون بخوره :
لینــــــــــــــــــــــک و لینــــــــــــــــــــــــــــک
موفق باشید.
به این اپراتور nil coalescing operator یا default operator گفته می شه که در برخی زبان های دیگر مانند PHP 7.0 به بعد نیز وجود دارد. کاربرد آن در تعریف کردن مقادیر پیش فرض است .
به طور مثال کد زیر :
let something = a ?? b
مانند این کد عمل می کند :
let something = a != nil ? a! : b
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .