بازدید: ٧٠۴

دیکشنری ها در سوئیفت (آموزش Swift)

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

 

در سوئیفت از دیکشنری ها(Dictionary) برای ذخیره فهرستهای نامرتب مقادیری از یک نوع استفاده می شود. سوئیفت به شدت ورودی های دیکشنری ها را کنترل می کند تا داده ای حتی به طور اشتباه وارد نشود.

دیکشنری ها از یک شاخص منحصربفرد به نام کلید (Key) استفاده می کنند تا به کمک آن مقداری را که بعدا ممکن است به آن رجوع شود ذخیره کند. برخلاف اعضا و عناصر آرایه، اعضای دیکشنری ترتیب خاص و مشخصی ندارند. با استفاده از دیکشنری می توانید بر اساس شاخصهای مقادیر به دنبال آنها بگردید.

کلید دیکشنری می تواند یک عدد صحیح یا یک رشته بدون هیچ محدودیتی باشد فقط با این تفاوت که باید در درون دیکشنری منحصربفرد باشد.

اگر شما یک دیکشنری ایجاد شده را به یک متغیر تخصیص دهید، آنگاه دیکشنری مذکور ثابت نخواهد بود بدین معنی که می توانید آن را با اضافه کردن، حذف کردن یا تغییر اعضای آن تغییر دهید. ولی اگر یک دیکشنری را به یک مقدار ثابت تخصیص دهید، آنگاه اندازه و محتویات آن نمی توانند تغییر داده شوند. 

 

ایجاد یک دیکشنری (Dictionary)

 

می توانید با استفاده از دستور زیر یک دیکشنری خالی از یک نوع خاص ایجاد کنید:


دیکشنری ها در سوئیفت

 

با استفاده از دستور زیر می توانید یک دیکشنری خالی ایجاد کنید که کلید آن از نوع Int باشد و مقادیر مربوط به آن رشته باشند:


دیکشنری ها در سوئیفت

 

در زیر می توانید مثالی از نحوه ایجاد یک دیکشنری از مجموعه مقادیر داده شده را مشاهده کنید:


دیکشنری ها در سوئیفت

 

دسترسی به دیکشنری ها

 

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


دیکشنری ها در سوئیفت

 

اجازه دهید به مثالی زیر نگاهی بیاندازیم تا با نحوه ایجاد، راه اندازی و دسترسی به مقادیر یک دیکشنری آشنایی پیدا کنید:


دیکشنری ها در سوئیفت

 

با کامپایل و اجرای دستورات فوق، نتایج زیر حاصل می شود:


دیکشنری ها در سوئیفت

 

ایجاد تغییرات در دیکشنری

 

می توانید با استفاده از متد updatevalue(forkey:) مقدار موجود را به کلید داده شده دیکشنری اضافه کنید. این متد یک مقدار اختیاری از نوع مقدار دیکشنری را برمی گرداند. به مثال زیر توجه کنید:


دیکشنری ها در سوئیفت

 

با کامپایل و اجرای دستورات فوق، نتایج زیر حاصل می شود:


دیکشنری ها در سوئیفت

 

با تخصیص یک مقدار جدید به یک کلید داده شده می توانید یک عضو موجود از دیکشنری را تغییر دهید. به مثال زیر توجه کنید:


دیکشنری ها در سوئیفت

 

با کامپایل و اجرای دستورات فوق، نتایج زیر حاصل می شود:


دیکشنری ها در سوئیفت

 

حذف جفت های مقدار- کلید

 

می توانید با استفاده از متد removeValueForKey یک جفت مقدار- کلید را از یک دیکشنری حذف کنید. این روش باعث می شود تا جفت مقدار- کلید در صورت وجود، حذف شود و مقدار حذف شده را برگرداند یا در صورتی که مقداری موجود نباشد، مقدار nil را برگرداند. به مثال زیر توجه کنید:


دیکشنری ها در سوئیفت

 

با کامپایل و اجرای دستورات فوق، نتایج زیر حاصل می شود:


دیکشنری ها در سوئیفت

 

همچنین می توانید با تخصیص یک مقدار nil برای یک کلید، یک جفت مقدار- کلید را از دیکشنری حذف کنید. به مثال زیر توجه کنید:


دیکشنری ها در سوئیفت

 

با کامپایل و اجرای دستورات فوق، نتایج زیر حاصل می شود:


دیکشنری ها در سوئیفت

 

تکرار در دیکشنری ها

 

می توانید با استفاده از یک حلقه for-in کل مجموعه جفت های مقدار- کلید را بر روی یک دیکشنری تکرار کنید. به مثال زیر توجه کنید:


دیکشنری ها در سوئیفت

 

با کامپایل و اجرای دستورات فوق، نتایج زیر حاصل می شود:


دیکشنری ها در سوئیفت

 

می توانید با استفاده از تابع enumerate()، به اندیس یک عضو به همراه جفت (کلید و مقدار) آن دسترسی پیدا کنید:


دیکشنری ها در سوئیفت

 

با کامپایل و اجرای دستورات فوق، نتایج زیر حاصل می شود:


دیکشنری ها در سوئیفت

 

تبدیل به آرایه ها

 

می توانید لیستی از جفت های کلید – مقدار را از یک دیکشنری استخراج کنید تا با استفاده از آنها آرایه های جداگانه ای برای هر دوی آنها (مقادیر و کلیدها) بسازید. به مثال زیر توجه کنید:


دیکشنری ها در سوئیفت

 

با کامپایل و اجرای دستورات فوق، نتایج زیر حاصل می شود:


دیکشنری ها در سوئیفت

 

خصوصیت Count

 

می توانید با استفاده از خصوصیت فقط خواندنی Count یک دیکشنری، به تعداد اعضای آن پی ببرید. برای این منظور به مثال زیر توجه کنید:


دیکشنری ها در سوئیفت

 

با کامپایل و اجرای دستورات فوق، نتایج زیر حاصل می شود:


دیکشنری ها در سوئیفت

 

خصوصیت empty

 

می توانید با استفاده از خصوصیت empty یک دیکشنری، بررسی کنید که آیا دیکشنری مربوطه خالی است یا خیر. به مثال زیر توجه کنید:


دیکشنری ها در سوئیفت

 

با کامپایل و اجرای دستورات فوق، نتایج زیر حاصل می شود:


دیکشنری ها در سوئیفت

 

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

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