Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Passing parameters to a custom class on initialization

Tags:

I have a class Message with two attributes, name and message, and another class MessageController with two text fields, nameField and messageField. I want to make an instance of Message in MessageController, passing these two attributes as arguments.

Right now, I am doing this:

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

How can I pass the values at the creation of an instance? I tried to redefine init in Message.m, but I don't know how do that.

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

    }
    return self;
}

Please help.

like image 589
user567 Avatar asked May 21 '11 22:05

user567


1 Answers

You have to create a custom initializer.

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

of course this assumes your parameters are of NSString type and that you have your properties set correctly ;)

like image 115
Giuliano Galea Avatar answered Oct 19 '22 19:10

Giuliano Galea