ios - online - مطورين ابل




المحمل المحمل ولكن لم يتم ضبط منفذ "العرض" (17)

أضفت ملفًا جديدًا إلى مشروعي ، وحاولت تحميله.

ومع ذلك ، عند النقر فوق رمز شريط الأدوات الذي من المفترض أن يأخذني إلى طريقة العرض التي قمت بإنشائها ، أحصل على NSInternalInconsistencyException مع الرسالة:

تم إنهاء التطبيق نظرًا لحدوث عدم ظهور استثناء "NSInternalInconsistencyException" ، السبب: - - [UIViewController _loadViewFromNibNamed: bundle:] تم تحميل "..." nib ولكن لم يتم تعيين منفذ العرض. "

لذا فتحت ملف nib الخاص بي ، وأرى أنه ليس هناك منافذ مرجعية محددة. ومع ذلك ، أحاول النقر على الدائرة وسحبها إلى "منفذ مرجعي جديد" لمالك الملف ، ولكن لن يسمح لي ... ما الذي أحتاج إلى القيام به لعرض وجهة نظري؟


لقد واجهت نفس المشكلة أثناء حذف إشارة xib بطريق الخطأ وأضفتها مرة أخرى. لقد أصلحت فقط عن طريق إنشاء اتصال بين مالك الملف والعرض.تأكد أيضًا من أن فئة CustomOwner المخصصة هي العرض المتوقع الخاص بك Controller.


أنا فقط إصلاح هذا في الأعمال المتعلقة بالألغام. مشروع كبير ، ملفين. واحد كان "ReallyLargeNameView" وآخر كان "ReallyLargeNameViewController"

استنادًا إلى الإجابة الثانية التي تم اختيارها أعلاه ، فقد قررت أن أنظف بنائي. ندى ، لكني كنت لا أزال أظن أن XCode (حيث أن لدي فئتين متطابقتين ، يجب أن نستخلصها ولكن ...) لذا فإن عمل المرء ليس واحدًا. أسماء مالك الملف هي حتى الآن نسخ ولصق ، منافذ إعادتها ، xCode إعادة تشغيل ، لا يزال لا شيء.

لذلك أنا حذف الطبقة المسماة مماثلة (وهو وجهة نظر). قريبا ، خطأ جديد "منفذ داخل لا مدمن مخدرات حتى" حرفيا كان "webView لا قيمة المفتاح" بلاه ... أساسا "أفضل Visual Studio". على أي حال ... أنا أحذف الملف المسمى الأصغر ، وبام ، فإنه يعمل.

يتم خلط XCode بواسطة ملفات مشابهة - مسماة. والمشروع كبير بما يكفي ليحتاج إلى إعادة تشغيل بعض الشيء ، وقد يكون جزءًا منه.

أتمنى أن يكون لدي جواب أكثر تقنية من "XCode مرتبك" ، ولكن بشكل جيد ، يحصل خلط xCode كثيرا في هذه المرحلة. غير منفسه بنفس الطريقة كنت أساعد طفلا صغيرا. يعمل الآن ، :) يجب أن يستفيد الآخرين إذا لم يثبت أعلاه أي شيء.

تذكر دائمًا تنظيف البنيات (عن طريق حذف المحاكي أيضًا)


أود أن أحصل على Stephen J. في بعض الأحيان ، لا يتم الخلط بين X Code. لقد كان لدي خبرة حيث لعبت مع واجهة المستخدم كثيرًا ، وأضفت منافذ أخرى وحذفها عدة مرات. المنافذ فقط لن تصل إلى أي أكثر من ذلك. لم أجد أبداً سببًا معينًا (لقد جربت جميع الحلول المذكورة أعلاه) ، وكان عليّ فقط حذف بنك الاستثمار الوطني وإعادة إنشائه من الصفر ، وفي الحقيقة كان علي أن استخدم اسمًا مختلفًا أمام بنك الاستثمار القومي قبل أن ينجح. (XCode 4.6.1) اهدر بضع ساعات في ذلك.


إذا كنت قد جربت كل شيء ولا تزال تحصل على هذا الخطأ ، فحاول إعادة إنشاء ملف الفصل من البداية ولكن تذكر تحديد خانة الاختيار "إنشاء ملف XIB أيضًا". سيقوم هذا تلقائيًا بربط بعض العناصر غير المرتبطة عند إنشاء هذه الملفات بشكل منفصل. بعد إنشاء هذا ، يمكنك على الأرجح قص كل شيء ولصقه على XIB الجديد ويجب أن يعمل بشكل جيد.

أجد هذه المشكلة على وجه التحديد مع إنشاء ملفات بشكل منفصل في سويفت.


بالنسبة لي ، حدثت المشكلة بسبب استدعاء initWithNibName:bundle: أستخدم خلايا عرض الجدول من ملف nib لتعريف نماذج الإدخال الموجودة على tableViews . بما أنني لا أملك وجهة نظر ، فليس من المنطقي التعلق بأحد. بدلاً من ذلك ، إذا اتصلت بـ initWithStyle: method بدلاً من ذلك ، ومن داخل هناك ، فإنني أحمل ملف nib ، ثم تعمل الأشياء كما هو متوقع.


بالنسبة لي جميع الأشياء المذكورة هنا https://.com/a/6395750/939501 كانت صحيحة ولكن لا يزال هناك خطأ ، والسبب هو أنني قمت بإنشاء فئة عرض باسم ABCView ثم قمت بحذفه فيما بعد قمت بإضافة وحدة تحكم في طريقة العرض ABCViewController ذلك بطريقة ما كان يشير إلى ABCView القديم في وحدة تحكم العرض الجديد ، كان لي لحذف ABCViewController وإضافة واحدة جديدة باسم مختلف أن تحل مشكلتي.

شكر


حدد مالك الملفات واذهب إلى فتح مفتش الهوية إعطاء اسم الفئة التي يتوافق معها. إذا لم تنجح أي من الطرق المذكورة أعلاه ولا تزال لا تستطيع رؤية منفذ العرض ، قم بإعطاء منفذ جديد للإشارة إلى مالك الملف ثم يمكنك رؤية منفذ العرض. انقر على منفذ العرض لإجراء اتصال بين منفذ العرض ومالك الملف. تشغيل التطبيق هذا يعمل بشكل جيد.


ركضت إلى شيء مشابه جدا هذه الليلة ، مع الفئة الفرعية سويفت UIViewController. في هذه الحالة ، لم تنجح أي من الإصلاحات المذكورة أعلاه ، ولكن إعادة ترتيب شفرتي فعلت. صافي ، وجود امتداد للفئة الفرعية تحدث قبل تعريف الطبقة الفرعية نفسها في الملف نفسه يبدو أن الخلط بين XCode ، على الرغم من تجميع غرامة ؛ كان الإصلاح لوضع الامتدادات بعد تعريف الفئة الفرعية.

لقد نشرت التفاصيل في إجابة على هذا السؤال المشابه .


فقط كان نفس الخطأ في مشروعي ، ولكن سبب مختلف. في حالتي كان لدي إعداد IBOutlet باسم "View" في صف UITableViewController المخصص. كنت أعرف أن "العرض" كان مميزًا لأنه عضو في الطبقة الأساسية ، لكنني لم أعتقد أن عرض (حالة مختلفة) سيكون أيضًا مشكلة. أعتقد أن بعض المناطق من الكاكاو ليست حساسة لحالة الأحرف ، وربما يكون تحميل xib أحد هذه المناطق. لذلك أنا فقط إعادة تسميته إلى DefaultView وكل شيء جيد الآن.


في حالتي ، تم تعيين - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil في فئة *** ViewController تم تطبيقه حتى إذا قمت عند استدعاء مُهيئ آخر لتهيئة الكائن ، سوف يقوم المُهيئ المعين يدعى يسمى .

لذلك لحل هذه المشكلة فحص wether - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil هو أيضا وسيلة مناسبة.


قضيت أكثر من ساعة في محاولة لمعرفة لماذا لم يتم تعيين خاصية العرض الخاصة بي في جهاز العرض الخاص بي عند الشروع بها من بنك الاستثمار القومي. تذكر الاتصال بـ "[init initWithNibName ...]" داخل initWithNibName في وحدة تحكم العرض.


كان لي نفس المشكلة ، فكنت أحسب بها ، وذلك لأنني قد تكتك " خلايا ثابتة " في خصائص عرض الجدول تحت خيار المحتوى . عملت عندما تغيرت إلى " Dynamic Prototypes ". لقطة الشاشة أدناه.


كما واجهت نفس المشكلة وكانت مشكلتي هي إضافة تعريب آخر (إنجليزي) إلى المنبر DisplayControllers بحيث لا يمكن العثور على التطبيق الخاص بي مع التوطين باللغة الألمانية بنك الاستثمار القومي مع ترجمة الإنجليزية! آمل أن يساعد هذا أي شخص!


هذا هو اقتراح Josh Justice ، ولكن بطريقة رسومية (الصور هي لي):

  1. حدد مالك الملف
  2. على الجانب الأيمن من اللوحة حدد فئة مخصصة.
  3. أدخل اسم الفئة المخصص

  1. على الجانب الأيمن لوحة حدد eatsets
  2. اسحب منفذ العرض لعرض المكون

وأخيرًا يتم إنشاء وحدة التحكم في العرض برمز المتداول:

        PTFilterUserVC *aFilterUserVC = [[PTFilterUserVC alloc] initWithNibName:@"FilterVC" bundle:nil];

        //OPTIONAL.This is how 'I' am interested in present the view controller.
        [self.navigationController pushViewController:aFilterUserVC animated:YES];

هوية الهوية - لم يتم تحديد هوية الفئة. بعد تعيينه للفئة المناسبة ، تم حل المشكلة.


واجهت نفس المشكلة ، ولكن تم استدعاء حل مختلف قليلاً. كانت المشكلة في هذه الحالة هي فئة "مالك الملف" ، بدلاً من فئة "طريقة العرض". لتعيين هذا ، اضطررت إلى النقر فوق رمز "تشغيل العكسي" في الزاوية السفلية اليسرى من نافذة "واجهة الباني" ، ثم ظهرت الخيارات التي عزلت خصائص "مالك الملف" و "المستجيب الأول" و "العرض". إن النقر على أول واحد (صندوق شفاف كبير) ، مكنني من تعيين فئة مخصصة كما هو موضح أعلاه.


يمكنني إصلاحه بشكل عام عن طريق إعادة تكوين الاتصال بين مالك الملف والملف الشخصي. اسحب التحكم من مالك الملف إلى طريقة العرض (في IB) وحدد طريقة العرض من القائمة المنبثقة.





xib