Передача параметров в пользовательский класс при инициализации - PullRequest
18 голосов
/ 22 мая 2011

У меня есть класс Message с двумя атрибутами, name и message, и другой класс MessageController с двумя текстовыми полями, nameField и messageField.Я хочу сделать экземпляр Message в MessageController, передав эти два атрибута в качестве аргументов.

Прямо сейчас я делаю это:

 Message *messageIns = [[Message alloc] init];
 messageIns.name = nameField;
 messageIns.message = MessageField; 

Как я могу передатьзначения при создании экземпляра?Я пытался переопределить init в Message.m, но я не знаю, как это сделать.

-(id)init{
    if((self=[super init])){

    }
    return self;
}

Пожалуйста, помогите.

1 Ответ

42 голосов
/ 22 мая 2011

Вы должны создать пользовательский инициализатор.

-(id)initWithName:(NSString *)name_ message:(NSString *)message_ 
{
     self = [super init];
     if (self) {
         self.name = name_;
         self.message = message_;
     }
     return self;
}

конечно, это предполагает, что ваши параметры имеют тип NSString и что ваши свойства установлены правильно;)

...