问题
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.
回答1:
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 ;)
来源:https://stackoverflow.com/questions/6084802/passing-parameters-to-a-custom-class-on-initialization