سؤال

لدي فئة فرعية مخصصة UiviewController ، والتي يتم دفعها على مكدس UinavigationController. أريد إضافة بعض البيانات الخاصة بي في وقت التهيئة/الدفع. هل علي أن

أ) اكتب طريقة init مخصصة مع بياناتي كوسيطة ، مثل هذا؟

MyCustomViewControllersUBClass.M:

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)bundle myCustomData:(NSData *)data{
    if(self = [super initWithNibName:nibName bundle:nibName]){
    //do stuff with my data
    }
    return self;
}

أو ب) إضافة خاصية إلى ViewController التي تخزن بيانات مخصصة ثم إضافتها بعد التهيئة؟

هل هناك بعض الميزة/العيب في أحد هذه الأساليب أم أن هناك طريقة أخرى للقيام بذلك؟

سعيد جدا للردود!

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

المحلول

بالتأكيد ، أفعل هذا طوال الوقت. والأفضل من ذلك ، أنسى اسم Nib Name بالكامل وافعله:

- (id) initWithMyCustomData: (id) customData
{
    if(self = [super initWithNibName: @"MyNibName" bundle: nil]){
        //do stuff with my data
    }
    return self;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top