مدیریت حافظه در برنامه نویسی iOS به زبان Swift - قسمت دوم

به نام خدا

بعد از چهار ماه گذشتن از قراردادن قسمت اول این آموزش تصمیم گرفتم قسمت دوم رو قرار بدم

یه مرور یه خطی به آموزش قبلی:

۰- هممممه ی تایپ ها اعم از Int, String, Array, Dictionary,Struct و... (به غیر از کلاس و کلاژر ) وقتی داخل یه متغییر دیگه ای assign میشن در واقع یه کپیشون توی رم ساخته میشه و اون متغییر به این مقدار جدید اشاره میکنه یعنی با تغییر دادن این متغییر جدید روی متغیر قبلی هیچ تغییری ایجاد نمیشه

۱.سویفت از مدیریت حافظه مرجع شماری استفاده میکنه

۲. دو تا از تایپ های سویفت به صورت مرجع استفاده میشن و مرجع شماری فقط برای این دو تا نوع استفاده میشه اولیش کلاس ها هستن و دومیش Clouser ها

۳. وقتی یک کلاس یا Clouser ساخته میشه و در یک متغییر assign میشه retain count اون آبجکت برابر ۱ میشه و هرچقدر این آبجکت رو در متغییر های دیگه assign کنیم یکی به این عدد اضافه میشه  و هرموقع متغییر ها scope شون تموم بشه یا خودمون برابر با nil قرارشون بدیم از این عدد کم میشه تا به صفر برسه و اون آبجکت ساخته شده از توی رم حذف بشه

۴. اگر یک کلاسی رو بسازیم و توی اون کلاس توی scope اصلی اون کلاس یک کلاس دیگه ای رو تعریف کنیم و بهش مقدار بدیم و براش کلاس فعلیمون رو بفرستیم یه retain cycle ساختیم که هیچوقت از توی رم حذف نمیشه (راه های هندل کردن چنین مشکلی رو توی این پست بررسی میکنیم)

نوشته شده توسط محمد فلاح

منتشر شده در

۹ اسفند

Nib چیست؟

به نام خدا

یکی از مفاهیم اصلی و مهم ای او اس بخش فایل های xib و  nib میباشد. که به نظرم باید هر برنامه نویس ios اونا رو خوب بلد باشه تا بتونه یه برنامه خوبی رو توسعه بده.

نوشته شده توسط محمد فلاح

منتشر شده در

۳ اسفند

Auto Resizing چیست و چگونه استفاده میشود؟

به نام خدا

امروزه وقتی با ای او اس و ایکس کد کار میکنیم از بولد ترین مفهومش مفاهیم Auto Layout و Constraint هاست

اما این تنها چیزی نیست که میتونه ویوی ما رو بچینه بلکه چیزی به اسم Auto Resizing هم هست که توی این مقاله براتون توضیح میدم

نوشته شده توسط محمد فلاح

منتشر شده در

۳ اسفند

موانع انتشار اپلیکیشن ها ای او اس در اپ استور و استورهای ایرانی

به نام خدا امروز ۶ آذر ۹۸

امسال سال خوبی واسه برنامه نویسای ای او اس نبود از ابتدای سال تمامی اکانت های enterprise  باطل شدند و شرکت های بزرگی هم مثل اسنپ مجبور به استفاده از PWA شدند.

نوشته شده توسط محمد فلاح

منتشر شده در

۹ آذر

داینامیک کردن تعداد سلول ها در کالکشن ویو - برنامه نویسی iOS

بسم الله الرحمن الرحیم.

حتما تا الآن شده که وقتی یه کالکشن ویو رو توی برنامتون استفاده می کنید میخواید توی آیفون ها و آیپد های مختلف تعداد سلول هاش متناسب با صفحه گوشی کم و زیاد بشه.

نوشته شده توسط محمد فلاح

منتشر شده در

۲۲ آبان