سؤال

ما هو الغرض من استخدام IBAction و IBOutlet في الهدف-C تشفير اي فون, أنها لا تجعل أي فرق إذا كنت لا تستخدم لهم ؟

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

المحلول

وIBAction وIBOutlet وحدات الماكرو محددة للدلالة على المتغيرات والأساليب التي يمكن الإشارة إليها في واجهة البناء.

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

إذا كنت لن تستخدم واجهة البناء في كل شيء، فأنت لا تحتاج إليها في التعليمات البرمجية الخاصة بك، ولكن إذا كنت تنوي استخدام ذلك، فإنك تحتاج إلى تحديد IBAction للطرق التي سيتم استخدامها في IB وIBOutlet للكائنات التي سيتم استخدامها في IB.

نصائح أخرى

والطريقة التقليدية لعلم الأسلوب بحيث تظهر في واجهة البناء، ويمكنك سحب اتصال به، وكان لجعل طريقة نوع الإرجاع IBAction. ومع ذلك، إذا قمت بإجراء طريقة الفراغ الخاصة بك، بدلا من ذلك (IBAction هو # define'd أن يكون الفراغ)، وتوفير (معرف) حجة، فإن هذه الطريقة لا تزال واضحة. وهذا يوفر مرونة إضافية، آل

جميع 3 من هذه تكون مرئية من واجهة البناء:

-(void) someMethod1:(id) sender; 
-(IBAction) someMethod2; 
-(IBAction) someMethod3:(id) sender;

وانظر واجهة باني دليل المستخدم أبل للحصول على التفاصيل، وخاصة القسم المعنون كسكودي التكامل.

وتحتاج إلى استخدام IBOutlet وIBAction إذا كنت تستخدم واجهة البناء (وبالتالي البادئة IB) لمكونات واجهة المستخدم الرسومية الخاصة بك. وهناك حاجة IBOutlet لربط الخصائص في التطبيق الخاص بك مع المكونات في IB، ويستخدم IBAction للسماح طرق لتترافق مع إجراءات في IB.

وعلى سبيل المثال، لنفترض أن قمت بتعريف زر والتسمية في IB. لتغيير القيمة من التسمية حيوي بواسطة الضغط على زر، سوف تعريف العمل والملكية في التطبيق مشابهة:

UILabel IBOutlet *myLabel;
-(IBAction) pushme;

وبعد ذلك في IB كنت ربط myLabel مع التسمية وتوصيل طريقة pushme مع زر واحدة. تحتاج IBAction وIBOutlet لهذه الاتصالات موجودة في IB.

واجهة البناء يستخدمها لتحديد ما هي الأعضاء والرسائل يمكن أن تكون 'السلكية' حتى للضوابط واجهة تستخدمه في الخاص بك نافذة / الرأي.

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

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

وIBAction - طريقة خاصة الناجمة عن الأجسام واجهة المستخدم. تعترف واجهة البناء عليها.

@interface Controller
{
  IBOutlet id textField; // links to TextField UI object
}

- (IBAction)doAction:(id)sender; // e.g. called when button pushed

لمزيد من المعلومات يرجى الرجوع أبل مستندات

وران إلى الرسم البياني في حين تبحث في الترميز قيمة المفتاح، يعتقد أنه يمكن أن يساعد شخص ما. كما أنه يساعد مع فهم ما هو IBOutlet.

ومن خلال النظر في التدفق، ويمكن للمرء أن يرى أن IBOutlets هي فقط هناك لتتناسب مع اسم الخاصية مع اسم عنصر التحكم في ملف بنك الاستثمار القومي.

وتستخدم IBAction وIBOutlets لعقف اجهة الخاص بها في واجهة البناء مع جهاز تحكم. إذا كنت لا تستخدم واجهة البناء وبناء واجهة بشكل كامل في التعليمات البرمجية، هل يمكن أن تجعل البرنامج دون استخدامها. ولكن في الواقع معظمنا استخدام واجهة البناء، مرة واحدة تريد الحصول على بعض التفاعل يحدث في واجهة الخاص بك، سيكون لديك لاستخدام IBActions وIBoutlets.

وعند استخدام واجهة البناء، يمكنك استخدام اتصالات المفتش لإعداد الأحداث مع معالجات الأحداث، من المفترض أن تكون الوظائف التي لديها معدل IBAction معالجات الأحداث. وجهة نظر يمكن ربطها مع الإشارة لنفس النوع ومع معدل IBOutlet.

IBOutlet

  • وهو الملكية.
  • عندما الاستثمار القومي(IB) يتم تحميل ملف, يصبح جزءا من مغلف البيانات الذي يربط متغير مثيل.
  • كل اتصال هو إلغاء أرشفة و إعادة تأسيس.

IBAction

  • السمة يشير إلى أن طريقة العمل التي يمكنك الاتصال من القصة المصورة في واجهة البناء.

@ - نمط ديناميكي IB - واجهة البناء

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