بازدید: ٨٣٨

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

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

داده شمارشی (enumeration) یک نوع داده است که توسط کاربر تعریف می شود و شامل مجموعه ای از مقادیر مرتبط به هم می باشد. از کلمه کلیدی enum برای تعریف داده شمارشی استفاده می شود.

 

نحوه عملکرد داده شمارشی

 

 داده شمارشی در سوئیفت بسیار شبیه به ساختار زبان C و Objective C عمل می کند.

  1. این نوع داده در یک کلاس معرفی و تعریف میشود و مقادیر آن از طریق نمونه هایی از همان کلاس قابل دسترسی می باشند.
  2. مقدار اولیه اعضا با استفاده از enum تعریف می شوند.
  3. میزان کارایی و عملکرد آن با تضمین میزان عملکرد پروتکل استاندارد افزایش می یابد.

 

نحوه نوشتن دستورenum

 

داده های شمارشی با کمک کلمه کلیدی enum معرفی می شوند و کل تعریف آنها در درون یک جفت آکولاد قرار می گیرد:


داده های شمارشی در سوئیفت

 

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

 

داده های شمارشی در سوئیفت
 

مثال


داده های شمارشی در سوئیفت

 

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


داده های شمارشی در سوئیفت

 

داده شمارشی سوئیفت هرگز مقدار پیش فرض عناصر و اعضای خود را همانند C و Objective C تخصیص نمی دهد. درعوض عناصر یا اعضا توسط اسامی داده شمارشی آنها بطور واضح تعریف می شوند. نام داده شمارشی باید با یک حرف بزرگ آغاز شود (همانند enum Daysofaweek).


داده های شمارشی در سوئیفت

 

دراینجا یک داده شمارشی به نام Daysofweek به متغیری به نام weekday.Sunday تخصیص داده می شود. این دستور به کامپایلر می فهماند که نوع داده Sunday به ادامه اعضای enum از همان کلاس تخصیص داده می شود. هنگامی که نوع داده enum تعریف می شود، اعضا یا عناصر آن می توانند با قراردادن مقادیر و محاسبات بیشتر در دسترس قرار گیرند.

 

داده شمارشی به همراه دستور Switch

 

در دستور switch سوئیفت تنها یک متغیر در یک زمان خاص و تحت شرایط مشخص شده دردسترس قرار می گیرد. از case پیش فرض در دستور switch برای مشخص کردن caseهای نامشخص  و تعریف نشده استفاده می شود.


داده های شمارشی در سوئیفت

 

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


داده های شمارشی در سوئیفت

 

ابتدا برنامه، Climate را بعنوان یک نام برای داده شمارشی تعریف می کند. سپس اعضای آن همانند India ، America، Africa و Australia بعنوان عضوی از کلاس Climate معرفی می شوند. اکنون عضو America به متغیرSeason تخصیص داده می شود. علاوه بر آن Switch case مقادیر متناظر را برای .America در نظر خواهد گرفت و به آن دستور خاص منشعب می شود. خروجی بصورت Climate is Cold نمایش داده می شود. همچنین از طریق دستورات switch می توان به تمامی اعضا دسترسی پیدا کرد. هنگامی که شرط مذکور تحقق پیدا نکند، آنگاه بطور پیش فرض عبارت Climate is not Predictable  را نمایش می دهد.

داده شمارشی می تواند به دو دسته ، مقادیر مرتبط (Associated) و مقادیر خام (raw) دسته بندی شود.

 

تفاوت بین مقادیر مرتبط (Associated)  و مقادیر خام (Raw)

 

داده های شمارشی در سوئیفت

 

Enum با مقادیر مرتبط

 

داده های شمارشی در سوئیفت

 

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

 

داده های شمارشی در سوئیفت

 

در مثال فوق برای دسترسی به نام دانش آموز و نمرات سه تا درس آنها، نام داده شمارشی بصورت student معرفی می شود و اعضایی که در کلاس داده شمارشی enum نمایش داده می شوند، name هستند که از نوع داده رشته ای می باشند. نمرات که بصورت mark1، mark2 و mark3 نشان داده می شوند از نوع عدد صحیح می باشند. برای دسترسی به نام و نمرات دانش آموزان از دستورات زیر استفاده کنید:

 

داده های شمارشی در سوئیفت

 

اکنون اگر یکی از دستورات Case اجرا شود، switch case نام دانش آموز را نشان می دهد در غیراینصورت نمرات کسب شده توسط دانش آموز را نشان می دهد.

 

Enum با مقادیر خام

 

مقادیر خام می توانند رشته ها، کاراکترها، اعداد صحیح یا اعشاری باشند. هر مقدار خام در درون تعریف داده شمارشی خود باید منحصربفرد باشد. هنگامی که از اعداد صحیح برای مقادیر خام استفاده می شود، اگر هیچ مقداری برای برخی از اعضای داده های شمارشی در نظر گرفته نشود، آنگاه داده شمارشی بطورخودکار نمو می کند.

 

داده های شمارشی در سوئیفت

 

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

 

داده های شمارشی در سوئیفت

 

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

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