0

我有两个 ViewController:RedButtonViewController 和 TweetViewController。RedButtonViewController 在 Textlabels 中生成随机数,我想将数字或标签与 TweetViewController 一起使用。我怎样才能做到这一点?

谢谢你的帮助!

我的 TweetViewController 将在 RedButtonViewController 中使用以下代码打开:

- (IBAction)TweetViewController:(id)sender {
    TweetViewController *Tweet = [[TweetViewController alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:Tweet animated:YES];
}

这是我如何生成随机数的示例:

- (IBAction)pushRedButton:(UIButton *)sender { 

    int ZahlDerToten;
    ZahlDerToten = arc4random() % 1000000;  

    outputLabel.text = [NSString stringWithFormat:@"You killed %d people.", ZahlDerToten];  
4

1 回答 1

1

在 TweetViewController 上创建一个属性并在呈现之前设置它:

- (IBAction)TweetViewController:(id)sender {
    // Note: don't put leading capitals on a local variable
    TweetViewController *tweet = [[TweetViewController alloc] initWithNibName:nil bundle:nil];
    tweet.randomNumber = [self generateRandomNumber];
    [self presentModalViewController:tweet animated:YES];
    // Note: You were leaking the view controller
    [tweet release];
}

另一种解决方案(以及我通常如何做这种事情)是创建一个名为-initWithNumber:(可能比“数字”更具描述性的东西)的新初始化程序,并像这样调用它:

- (IBAction)TweetViewController:(id)sender {
    TweetViewController *tweet = [[TweetViewController alloc] initWithNumber:[self generateRandomNumber]];
    [self presentModalViewController:tweet animated:YES];
    [tweet release];
}

-initWithNumber然后看起来像:

- (TweetViewController *)initWithNumber:(NSInteger)number {
    self = [super initWithNibName:nil bundle:nil];
    if (self != nil) {
        self.number = number;
    }
    return self;
}
于 2009-12-29T04:13:41.987 回答