将变量发送到添加的子视图控制器

时间:2011-01-11 03:07:41

标签: iphone objective-c variables view

我知道如何从父视图中检索变量... 通过做这样的事情

[(mainViewController *)[self.superview] variableName];

但现在我想知道如何将变量数据发送到子视图......

特别是如果我做这样的事情

ScreenTwoViewController *screen2 = [[ScreenTwoViewController alloc] init];
...
...
[self.addSubview:screen2.view];
在屏幕中的

我有一个变量名称消息:

我想向实际视图发送变量消息,以便在将screen2视图添加为子视图时根据父视图发送的内容在该视图中显示消息??

3 个答案:

答案 0 :(得分:1)

好吧,如果你在子视图中设置变量的属性,就像这样。

@property (nonatomic, retain) NSString *message;

并在你的.m文件中合成它,而不是总是使用这个

screen2.message = [[NSString alloc] initWithFormat:@"use what ever init methode that you want"];

并且不要忘记在方法结束之前释放screen2以避免内存泄漏

答案 1 :(得分:0)

你有Message的二传手?如果没有,这是属性吗?无论哪种方式,我都会有一个getter方法,setMessage:(NSString *)msg具有以下实现:

- (void)setMessage:(NSString *)msg {
    [message release];
    message = [msg retain];
    // put your code to modify your UI here
}

这样,你就可以通过更新视图来绑定变量。

答案 2 :(得分:0)

您可以为ScreenTwoViewController创建新的init方法。例如,- (id) initWithMessage:(NSString *)message

要更新消息,只需创建一个setter方法- (void)setMessage:(NSString *)newMessage