دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۲
  • آبان

جلسه ۲۸ : ARC در Swift

  • دسته‌بندی‌ها :
جلسه ۲۸ : ARC در Swift
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش Swift را دنبال می کنند. توابع مدیریت حافظه در زبان Swift 4 از طریق شمارش معیارهای خودکار (ARC) مورد استفاده قرار می گیرند. ARC برای راه اندازی و غیر فعال کردن منابع سیستم استفاده می شود و بنابراین فضای حافظه مورد استفاده در نمونه های کلاس را زمانی که موارد دیگر مورد نیاز نیست، آزاد می کند. ARC اطلاعات مربوط به روابط بین نمونه های کد ما را مدیریت می کند تا منابع حافظه را به طور موثر مدیریت کند. در ادامه این مبحث به مرور مقدمه ای بر مفهوم ARC در Swift پرداخته ایم.

      مفهوم ARC در Swift

      در این آموزش شما را با توابع و نمونه هایی از عملکرد مفهوم ARC در Swift آشنا خواهیم کرد.

      توابع ARC

      ARC تکه ای از حافظه را برای ذخیره اطلاعات هر بار که یک کلاس جدیدتوسط () init ایجاد شود، اختصاص می دهد.

      اطلاعات در مورد نوع نمونه و مقادیر آن در حافظه ذخیره می شود.

      هنگامی که مثال کلاس دیگر مورد نیاز نیست، به طور خودکار حافظه را توسط () deinit برای ذخیره و بازیابی نمونه های کلاس بیشتر آزاد می کند.

      ARC در حال پیگیری خصوصیات، ثابت ها و متغیرهایی است که در حال حاضر به آن اشاره دارد،و () deinit برای موراد بلااستفاده بکارم می رود.

      ARC یک مرجع قدرتمند را برای ویژگی نمونه کلاس ها محدود می کند، ثابت ها و متغیرها برای محدود کردن عدم تخصیص زمانیکه نمونه کلاس ها در حال استفاده اند، بکار می روند.

      برنامه ی ARC

      مثال : 

      نتیجه ی کامپایل و اجرای مثال فوق :

      مثال : 

      سیکل های نمونه های کلاس مرجع قدرتمند ARC

      مثال : 

      نتیجه ی کامپایل و اجرای مثال فوق :

      مثال : 

      منابع ضعیف و نادرست ARC

      خصوصیات نوع کلاس دو راه برای حل سیکل های مرجع قوی دارند:

      • Weak References
      • Unowned References

      این مراجع برای فعال کردن یک نمونه برای مراجعه به موارد دیگر در یک چرخه مرجع استفاده می شوند.

      سپس موارد ممکن است بجای مراقبت از چرخه مرجع قوی به هر نمونه مراجعه کنند.

      هنگامی که کاربر می داند که برخی از نمونه ها ممکن است مقادیر “nil” را بازگردانند ممکن است که با استفاده از مراجع ضعیف اشاره کنیم.

      برنامه ی مرجع ضعیف

      مثال : 

      نتیجه ی کامپایل و اجرای مثال فوق :

      مثال : 

      برنامه ی مرجع نادرست

      مثال : 

      نتیجه ی کامپایل و اجرای مثال فوق :

      مثال : 

      سیکل های مرجع قوی برای closure ها

      هنگامی که ما یک معادله را به کلاس instance تعریف می کنیم بدنه closure می تواند یک سیکل مرجع نمونه خاص را بگیرند.

      مرجع قوی برای closure توسط ‘self.someProperty’ یا ‘()’self.someMethod تعریف می شود.

      سیکل های مرجع قوی برای انواع مرجع برای closure ها استفاده می شود.

      مثال :

      مثال : 

      نتیجه ی کامپایل و اجرای مثال فوق :

      مثال : 

      مراجع ضعیف و نادرست

      زمانیکه closure و instance به هر یک اشاره دارد. کاربر می تواند ضبط را در یک closure به عنوان یک مرجع بی نظیر تعریف کند.

      پس از آن اجازه نمی دهد که کاربر در همان زمان نمونه را کنار بگذارد.

      هنگامی که نمونه بعدها یک مقدار “nil” را به دست می گیرد، closure با نمونه ضعیف تعریف می شود.

      مثال : 

      نتیجه ی کامپایل و اجرای مثال فوق :

      مثال : 

      کلام آخر

      توابع ARC در Swift برای راه اندازی و غیر فعال کردن منابع سیستم استفاده می شود، بنابراین فضای حافظه ای که استفاده می شود در مواقعی که بلا استفاده باشد آزاد می شود.

      QR:  جلسه ۲۸ : ARC در Swift
      به اشتراک بگذارید