2011-05-21 106 views
16

将参数传递给自定义类我有一个类Message有两个属性,namemessage,和其他类MessageController有两个文本字段,nameFieldmessageField。 我想在MessageController中创建一个Message的实例,将这两个属性作为参数传递。在初始化

现在,我这样做:

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

我怎样才能在创建一个实例的值传递? 我试图在Message.m中重新定义init,但我不知道该怎么做。

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

    } 
    return self; 
} 

请帮忙。

回答

37

您必须创建一个自定义初始值设定项。

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

当然这是假设你的参数的NSString类型,并确保您已正确设置你的属性;)

+1

非常感谢你。我应该如何调用该方法? Message * messageIns = [[Message alloc] initWithName:name,message];不好意思,但我是这个领域的一个天才。 – user567 2011-05-21 22:35:57

+9

这样调用它:'Message * messageIns = [[Message alloc] initWithName:someNameString message:someMessageString]' – 2011-05-21 22:44:01

+0

谢谢,完美工作:) – user567 2011-05-21 23:05:34