出口集合到详细视图控制器

时间:2014-01-28 18:19:03

标签: ios object uiviewcontroller iboutletcollection

我有一个按钮插座集合,它收集10个最近的商店位置并按顺序显示它们。我试图做的是每当按下其中一个按钮时,它会打开一个详细视图控制器并在新窗口中显示标题。我所声明的查询和出口集合的代码如下:

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        int i = 0;
        for (PFObject *object in objects) {
            if (i >= [self.EventTitles count]) break;
            [(UIButton *)self.EventButtons[i] setTitle:[object objectForKey:@"objectId"] forState:UIControlStateNormal];
            [(UIButton *)self.EventButtons[i] addTarget:self action:@selector(DetailEvent1:) forControlEvents:UIControlEventTouchUpInside];
            i++;
        }
    }
}];

DetailEvent1操作代码:

-(IBAction)DetailEvent1:(id)sender {
    TableDetailViewController *objDetail = [[TableDetailViewController alloc] initWithNibName:@"TableDetailViewController" bundle:nil];
    objDetail.??????? = self.????????;
}

我需要一些帮助来编写如何将所选对象推送到TableDetailViewController。我非常感谢你的帮助。

2 个答案:

答案 0 :(得分:0)

要将设置新视图的标题作为按钮中的一个按下新视图控制器,此代码应该有效(假设您当前的视图已经在内部) a UINavigationController):

-(IBAction)DetailEvent1:(id)sender 
{
    TableDetailViewController *objDetail = [[TableDetailViewController alloc]
                                           initWithNibName: @"TableDetailViewController" 
                                                    bundle: nil];

    // Copy button's title
    objDetail.title = ((UIButton *)sender).titleLabel.text;

    // Push new view controller
    [self.navigationController pushViewController:objDetail animated:YES];
}

答案 1 :(得分:0)

如果您使用故事板为新视图控制器创建segue,则只需在performSegueWithIdentifier内拨打DetailEvent1即可。然后设置VC标题并传递新VC在prepareForSegue中需要的任何数据。