سؤال

أنا أغوص في تطوير iPad وأتعلم الكثير بسرعة ، لكن في كل مكان أنظر إليه ، لدي أسئلة. بعد إنشاء تطبيق SplitView جديد في XCode باستخدام القالب ، يقوم بإنشاء فئة AppDelegate ، وفئة RootViewController ، وفئة التفاصيل Controller. جنبا إلى جنب مع ذلك ، فإنه ينشئ ملفات .xib لـ mainwinow.xib و deliefview.xib.

  1. كيف تعمل هذه الملفات الخمسة معًا؟
  2. لماذا يوجد ملف NIB لمشاهدة التفاصيل ، ولكن ليس RootView؟
  3. عندما أقوم بنقر مزدوجًا على ملف mainwindow.xib ، يتم تشغيل Builder Interface بدون نافذة "عرض" ، لماذا؟
  4. أدناه هو الرمز ل didFinishLaunchingWithOptions الطريقة داخل فئة AppDelegate. لماذا نضيف SplitViewController كمرة واحدة؟

    (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    
    // Override point for customization after app launch    
    rootViewController.managedObjectContext = self.managedObjectContext;
    
    // Add the split view controller's view to the window and display.
    [window addSubview:splitViewController.view];
    [window makeKeyAndVisible];
    
    return YES;
    

    }

شكرا جزيلا مقدما على كل مساعدتك! لا يزال لدي الكثير لأتعلمه ، لذلك أعتذر عما إذا كان هذا السؤال سخيفًا بأي شكل من الأشكال. سأستمر في البحث عن هذه الأسئلة الآن!

هل كانت مفيدة؟

المحلول

MainWinow.xib هي النافذة الافتراضية التي تم إنشاؤها بواسطة كل مشروع Cocoa Touch. إنها النافذة التي تتم إضافة جميع النوافذ الأخرى ، عادة في AppDelegate.

AppDelegate ، أنا أفترض أنك تعرف بالفعل. هذا هو الفصل الأساسي الخاص بك لتطبيقك.

SplitViewController هو uisplitviewController ويتم إضافته إلى mainwindow.xib بالنسبة لك باستخدام IB ، ولكن لم يتم إضافته إلى النافذة في mainview.xib حتى didfinishlaunchingwithoptions: يتم تشغيله.

بشكل افتراضي ، يدير SplitViewController اثنين من ViewControllers كملاحة لك. عادةً ما تكون هذه عبارة عن uitableView (تسمى RootViewController في القالب) ، و UiViewController (تسمى التفاصيل Conntroller). على الرغم من أنه يمكنك إزالة هذه تمامًا إذا كنت تريد.

RootViewController هو ببساطة UitableViewController. يتم إضافته إلى SplitViewController في IB.

التفاصيل ViewController هو UiviewController ، ويتم إضافته أيضًا إلى IB في mainwindow.xib لك.

لماذا يوجد ملف NIB لمشاهدة التفاصيل ، ولكن ليس RootView؟

أعتقد أنه يتم تحميل عرض التفاصيل من ملف NIB لتسهيل إدارة الذاكرة. ولكن كان من السهل إنشاء برمجيا. لا يوجد NIB لـ RootView لأنه تمت إضافته بالفعل وتهيئته في UISplitViewController. يمكن أن يتم تحميله بسهولة من ملف XIB.

عندما أقوم بنقر مزدوجًا على ملف mainwindow.xib ، يتم تشغيل Builder Interface بدون نافذة "عرض" ، لماذا؟

يستخدم قالب iPad الافتراضي هذا UISplitViewController يسمى splitviewController وليس UIView يسمى View كقوالب iPhone الأخرى.

فيما يلي رمز طريقة didfinishlaunchingwithoptions داخل فئة AppDelegate. لماذا نضيف SplitViewController كمرة واحدة؟

SplitViewController موجود فقط في mainwindow.xib ، لم تتم إضافته إلى النافذة (في mainwindow.xib). لذلك يضاف هنا. إذا كان متداخلًا في SplitViewController ، فلن تكون هناك حاجة لإضافتها في AppDelegate.

هذا هو الوثيقة التي تريدها اقرأ

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top