آموزش سبك و ساختار iOS

مانند ديگر زبان هاي برنامه نويسي، 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 فراخواني مي شود و برنامه ما آماده است.

ادامه مطلب...

تا كنون نظري ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در مونوبلاگ ثبت نام کرده اید می توانید ابتدا وارد شوید.