مانند دیگر زبان های برنامه نویسی، iOS نیز، فایل ویژه ای دارد که همیشه قبل از همه اجرا می شود و فایل AppDelegate.Swift نامیده می شود. زمانی که برنامه اجرا می شود؛ ابتدا کامپایلر به فایل AppDelegate.Swift رفته و مارکر @UIApplicationMain را بررسی می کند. این مارکر مهم ترین موضوع در برنامه است. اگر این مارکر را کامنت کنیم؛ برنامه ما به درستی ساخته می شود اما اجرا نمی شود.


چرخه حیات معمول برنامه iOS با @UIApplicationMain آغاز می شود، هنگامی که برنامه را اجرا می کنیم ابتدا شیء آن ایجاد و مقدار دهی می شود. پس از ایجاد و تنظیم اولیه شیء، AppDelegate.Swift روشن می شود و شیء UIApplication به فایل AppDelegate.Swift باز می گردد. فایل @UIApplicationMain فایل info.plist را می خواند و پیکربندی برنامه شما از جمله نام صفحه نمایش راه اندازی و فایل Main.Storyboard را بررسی می کند. این روند کلی در پس زمینه کار انجام می شود.

اکنون فایل AppDelegate.Swift به UIWindow که یک پنجره ناپیدا است مراجعه می کند و این پنجره بصورت خودکار؛ به عنوان بخشی از برنامه ایجاد می شود. این UIWindow حاوی یک خط مرزی است که صفحه آیپد،

آیفون و غیره را ترسیم می کند.

یعنی اگر ما تصویری را در صفحه نمایش راه اندازی کنیم ، ابتدا در هنگام بارگذاری برنامه مانند تصویر زیر ، آن تصویر در UIWindow ناپیدای ما بارگذاری می شود.


زمانی که بارگذاری برنامه ی ما تکمیل شد؛ سپس صفحه راه اندازی ناپدید شده و UIWindow با اولین کنترل گر نما بارگذاری می شود و همان طور که در زیر آمده است؛ کنترل های برنامه ما را در بر دارد.

برای شیء UIApplication ما نیاز به انجام کاری نداریم، در اینجا فایل اصلی، AppDelegate.Swift است و نمایانگر وضعیت برنامه ما است و UI window صفحه های برنامه ما را ترسیم می کند.

در نقطه راه اندازی طول عمر برنامه iOS ؛ اگر بخواهیم کارهایی را انجام دهیم که هنگام استفاده از روش طول عمر؛ لازم به انجام باشند: application:didFinishLaunching فراخوانی می شود و این روش از طریق فایل AppDelegate.Swift ما منتقل می شود. پس از اتمام روش application:didFinishLaunching ؛سپس پنجره با ViewController (کنترل کننده ی نما) بارگذاری می شود و در ViewController روشی که در ابتدا اجرا خواهد شد به عنوان روش ViewDidLoad() و ViewDidAppear() شناخته شده است و اینها روشهای داخلی ViewController هستند. بعد از این متد didBecomeActive فراخوانی می شود و برنامه ما آماده است.

ادامه مطلب.


مشخصات

آخرین ارسال ها

آخرین جستجو ها