سؤال

أريد أن أكتب بعض الأساليب في فئة بحيث فئات أخرى يمكن استدعاء هذه الطرق باستخدام [instance methodName:Parameter].

إذا كانت فئة هي فئة فرعية من UIViewController, يمكنني استخدام initWithNibName إلى تهيئة ذلك.ولكن أريد أن أكتب الطرق في NSObject هو فرعية, كيف يمكن تهيئة ذلك ؟

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

المحلول 2

أجد أن هذا قد عمل:

TheClass *newObject = [[TheClass alloc] init];
//do something here
[newObject release];

نصائح أخرى

iphony هو الصحيح, ولكنه لا يقول أن تحتاج إلى كتابة الحرف الأول طريقة نفسك.الخاص بك طريقة الحرف الأول وعموما ينبغي أن ننظر بشيء من هذا القبيل:

- (id) init
    {
    if (self = [super init])
         {
         myMember1 = 0; // do your own initialisation here
         myMember2 = 0;
         }
    return self;
    }

على الرغم من أن أبل الوثائق يقول

التهيئة طريقة تعريف في فئة NSObject لا التهيئة;فإنه ببساطة يعود النفس.

واحد فقط يمكن أن يكون إغراء الكتابة

- (id) init
  {
    myMember1 = 0; // do your own initialisation here
    myMember2 = 0;
    return self;
  }

هذا هو الخطأ و لا تتبع ما هو صراحة في الوثائق:

في العرف تنفيذ هذا (الحرف الأول) الطريقة, يجب استدعاء سوبر ل المعين مهيئ ثم تهيئة والعودة الكائن الجديد.

يجب أن.لا ينبغي أن يجب ، وما إلى ذلك.

يجب أن لا نفترض NSObject هو الحرف الأول لا يتغير في المستقبل ؛ ولا الفائقة التي عهدك فئة مشتقة.

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