بازدید: ٨۵٧

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

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

سوئیفت امکان ایجاد یک بلوک از ثابتها را بعنوان ساختمانها فراهم می آورد. با استفاده از این ساختمانها، می توانید روشهای ساخت و خصوصیات را تعریف کنید. برخلاف زبان برنامه نویسی C و Objective C، در سوئیفت نیازی به فایلهای اجرایی و میانجی ندارید. همچنین این امکان را به ما می دهد تا تنها یک فایل را ایجاد کنیم و بطور خودکار interface آن را به سایر بلوکها گسترش دهیم.

در ساختمان، مقادیر متغیر کپی شده و در کدهای بعدی قرار داده می شوند. اینکار با برگرداندن یک نسخه از مقادیر قدیمی انجام می شود به گونه ای که مقادیر نمی توانند تغییر داده شوند.

 

نحوه نوشتن ساختمانها


ساختمانها در سوئیفت

 

تعریف یک ساختمان

 

بعنوان مثال فرض کنید ما به رکورد دانش آموزی دسترسی داریم که حاوی نمرات سه درس وی می باشد و اکنون می خواهیم جمع این سه درس را پیدا کنیم. در اینجا از markStruct برای تعریف یک ساختمان با سه نمره از نوع داده Int استفاده می شود :


ساختمانها در سوئیفت

 

دسترسی به ساختمان و خصوصیات آن

 

برای دسترسی به اعضای ساختمان، باید از نام ساختمان استفاده کنید. برای تعریف نمونه هایی از نوع ساختمان، از کلمه کلیدی Let استفاده می کنیم.


ساختمانها در سوئیفت

 

وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:


ساختمانها در سوئیفت

 

برای دسترسی به نمرات دانش آموزان باید از نام ساختمان ( studentMarks) استفاده کنید. اعضای ساختمان بصورت mark1، mark2 و mark3 تعریف می شوند که مقادیر همگی عدد صحیح می باشند. سپس ساختمان studentMarks() با استفاده از کلمه کلیدی let در marks گذاشته می شود. از این به بعد marks حاوی مقادیر اعضای ساختمان می باشد. اکنون با دسترسی به مقادیر اعضای ساختمان، می توانیم آنها را نمایش می دهیم. برای این منظور از یک کاراکتر نقطه ‘.’ به همراه اسامی تعریف شده آنها استفاده می شود.


ساختمانها در سوئیفت

 

 وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:


ساختمانها در سوئیفت

 

بهترین موارد استفاده از ساختمانها

 

در زبان سوئیفت امکان تعریف ساختمانها بعنوان داده های سفارشی برای ساخت بلوکی از توابع وجود دارد. با قرار دادن مقدار نمونه های ساختمان در بلوکهای تعریف شده، امکان ایجاد تغییرات بیشتر وجود دارد.

 

چه زمانی نیاز به استفاده از ساختمان داریم

 

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

ساختمانها در سوئیفت اعضای خود را به همراه مقادیرشان قرار می دهند نه با مرجعشان(refrences).


ساختمانها در سوئیفت

 

وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:


ساختمانها در سوئیفت

 

مثال دیگر


ساختمانها در سوئیفت

 

وقتی برنامه فوق را با استفاده از Playground  اجرا می کنیم، نتایج زیر بدست می آیند:


ساختمانها در سوئیفت

 

در ابتدا ساختمان markStruct به همراه اعضای خود به نامهای mark1، mark2 و mark3 تعریف می شود. اکنون متغیرهای کلاسهای اعضا تعریف می شوند تا مقادیر عدد صحیح را نگه دارند. سپس یک نسخه از اعضای ساختمان با استفاده ا ز کلمه کلیدی self ایجاد می شود. هنگامی که کپی اعضای ساختمان ایجاد می شود، بلوک ساختمان به همراه نمرات پارامترش در متغیر marks قرار داده می شود تا نمرات دانش آموزان را نگه دارند. سپس نمرات بصورت اعداد 98، 96 و 100 نمایش داده می شوند. گام بعدی برای همان اعضای ساختمان این است که از نمونه ساختمان دیگری به نام fail برای اشاره به همان اعضای ساختمان با نمرات متفاوت استفاده می شود. اکنون نتایج بصورت 34، 42 و 13 نمایش داده می شوند. این مسئله به وضوح نشان می دهد که ساختمانها دارای یک کپی از متغیرهای اعضا می باشند بنابراین اعضا را در بلوکهای تابعی که به زودی از آنها استفاده می شود، قرار می دهند. 

 

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

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