objective-c - موضوع - معني اوبجيكتيف




ما هو بالضبط السوبر في Objective-C؟ (3)

إنها كلمة أساسية تكافئ self ، ولكنها تبدأ في إرسال رسالتها بالبحث باستخدام جدول أسلوب الطبقة الفائقة.

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

أي واحد؟



super

بشكل أساسي ، يسمح لك باستخدام تطبيقات الطبقة الفائقة للفئة الحالية.

للحصول على details gritty لوقت تشغيل Objective-C:

[super message] لها المعنى التالي:

عندما يصادف استدعاء طريقة ، ينشئ المحول البرمجي استدعاء إحدى الدالات objc_msgSend أو objc_msgSend_stret أو objc_msgSendSuper أو objc_msgSendSuper_stret. يتم إرسال الرسائل المرسلة إلى الطبقة الفائقة للكائن (باستخدام الكلمة الرئيسية الفائقة) باستخدام objc_msgSendSuper؛ يتم إرسال الرسائل الأخرى باستخدام objc_msg إرسال. يتم إرسال الأساليب التي تحتوي على بنيات بيانات مثل قيم الإرجاع باستخدام objc_msgSendSuper_stret و objc_msgSend_stret.

لذا ، نعم ، إنها ثابتة ، وغير محددة في وقت التشغيل.





objective-c-runtime