سؤال

وأنا جميلة جديدة لتطوير آيفون وأنا لا يزال الحصول على رأسي حول الهدف-C، لذا يرجى أن تتحملوني:)

واني اسعى الى تغيير نص التسمية من داخل كائن ينتمي إلى وحدة تحكم شاشة العرض الرئيسية. أم. أعتقد أن يبدو الصحيح.

لتلك التي كنت على دراية الطبقة AQRecorder من SpeakHere سبيل المثال على اي فون مكتبة المراجع : -

واني اسعى الى تحديث تسمية يسمى كل مرة AQRecorder::MyInputBufferHandler (أي عندما يتم ملء مخازن المدخلات)

وكان النهج لقائي الاول لتعديل فئة AQRecorder لاحتواء UILabel* أن أبعث كمعلمة إلى منشئ تعديلها. انها عملت، لكنه شعر خاطئة جدا. والآن بعد أن أريد لتعديل اثنين من عناصر UI مختلفة وكنت آمل أن هناك طريقة أفضل.

وأنا عندي شعور أن أنا في عداد المفقودين شيء أساسي. ذلك أو أنا سوف يتطلب قليلا من إعادة بيع ديون.

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

المحلول

والنظر في استخدام NSNotificationCenter . ويوفر الإخطارات المنفصل، وبالتالي فإن الطبقة مسجل يكن لديك لمعرفة أي شيء عن واجهة المستخدم.

نصائح أخرى

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

في قضيتك، الفئة التي تتعامل مع الحدث (AQRecorder؟) يمكن تحديد بروتوكول مندوب ولها خاصية مندوب، في حين أن الطبقة المالكة للUILabel (جهاز تحكم شاشة العرض الرئيسية؟) يمكن تنفيذ هذا البروتوكول وتحديث التسمية في تنفيذ البروتوكول (أو فعل أي شيء آخر يجب القيام به).

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