سؤال

في Subclass Subclass UivieweController الخاص بي، يجب أن أؤيد NSArray من البيانات الخاصة ب UIPICKERVIEW في INIT أو في ViewDIDLoad ولماذا؟ شكرا.

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

المحلول

أود أن أسميها viewDidLoad نظرا لأن الرأي يمكن تحميله أكثر من مرة (وأيضا تفريغها، فيمكنك أيضا إعادة تحميل صفيفك).

أيضا، من الجيد تحميل البيانات بتكاسل على iPhone معظم الوقت. تحميل البيانات في viewDidLoad هو الكثير من الكعاف init, ، والتي قد تنتهي بالأداء الأفضل بالنسبة لك إذا قمت بتطبيقها، ولكن لا تستخدم على الفور تحكم العرض الخاص بك.

نصائح أخرى

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

حالة واحدة للقيام بذلك في INIT، هي أنه يمكن استدعاء ViewDidDoad بعد Viewwillappear. إذا كنت تعتمد على مجموعة موجودة في ذلك الوقت، فقد تحتاج إلى وضع التهيئة في INIT.

بشكل عام، يعد ViewDidLoad مكانا جيدا طالما استمرت في الاعتبار أنه يمكن أن يسمى أكثر من مرة.

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