将数据从Mainview发送到Flipside?

时间:2011-03-14 01:51:25

标签: objective-c ios4

我仍然很难处理这个数据封装......

我知道Flipside的东西应该用于设置而不是什么,并且将数据从flipside发送回mainview很容易(对于某些人来说)或者甚至可能内置。有没有关于该翻转/主视图模板的内容是否很难或不可能将数据从Mainview发送到Flipside?

2 个答案:

答案 0 :(得分:2)

在效用模板中,MainViewController(正面的视图控制器)在FlipsideViewController方法中创建showInfo:(背面的视图控制器)。您可以将任何您喜欢的数据传递给FlipsideViewContrller构造函数(当然,前提是您更改构造函数以接受数据)。

或者,您可以在FlipsideViewController中定义一些属性。创建对象后(再次在showInfo:中),然后可以使用要传递的数据设置这些属性。

根据@ Sam的评论编辑:

FlipsideViewController.h中,您可以定义一个属性来保存您想要显示的数据。在这里,我将其设为NSString但它可以是任何东西。

@property (nonatomic, retain) NSString *someDataToShow;

MainViewController.m中,创建FlipsideViewController后,您需要设置该属性。请注意,这假设您在computeDataToPassToFlipside中定义了一个返回MainViewController的方法NSString

- (IBAction)showInfo:(id)sender
{    
    FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
    controller.delegate = self;
    controller.someDataToShow = [self computeDataToPassToFlipside];
    // ...
}

最后,在FlipsideViewController.m中,您需要对传递给该属性的数据执行某些操作。因此,举例来说,假设您有一个名为UILabel的{​​{1}},您希望显示myLabel属性。我将假设UILabel已正确包含并使用Interface Builder附加到NSString

IBOutlet

答案 1 :(得分:1)

Utility模板已经为您构建了委托。

有关代表的一些好消息,请看这个问题:

How does a delegate work in objective-C?