【问题标题】:Pass variable to a detail view controller using a table in UIViewController (not UITableViewController!!)使用 UIViewController 中的表将变量传递给详细视图控制器(不是 UITableViewController !!)
【发布时间】:2012-07-22 20:53:37
【问题描述】:

我目前有 2 个视图控制器:ViewControllerDetailViewController。它们都不是表视图控制器,它们都只是视图控制器。但是,我在ViewController 上确实有一张桌子,否则效果很好。 I want to segue/pass a variable to DetailViewController when a cell is selected.

使用情节提要,我设置了从单元格到DetailViewController 的模态segue,标识符为toDetailView

我尝试使用此方法将我的变量(在此示例中称为 play)从 VC 传递到 DVC(通过 http://developer.apple.com/library/ios/#samplecode/SimpleDrillDown/Listings/Classes_RootViewController_m.html#//apple_ref/doc/uid/DTS40007416-Classes_RootViewController_m-DontLinkElementID_10):

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if ([[segue identifier] isEqualToString:@"toDetailView"]) {

        NSIndexPath *selectedRowIndex = [self.tableView indexPathForSelectedRow];
        DetailViewController *detailViewController = [segue destinationViewController];
        detailViewController.play = [dataController objectInListAtIndex:selectedRowIndex.row];
    }
}

但是我得到一个错误:Property 'tableView' not found on object type 'ViewController *'。我认为这是因为它不是表视图控制器?我怎样才能解决这个问题?或者我可以使用另一种方法来使用(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 传递变量吗?

【问题讨论】:

    标签: objective-c xcode uitableview uiviewcontroller xcode4.3


    【解决方案1】:

    在 ViewController 上,像这样创建一个新属性:

    @property (nonatomic, assign) IBOutlet UITableView *tableView;
    

    还有synthesize。然后,在 Interface Builder 中,您应该能够将插座分配给您正在使用的 tableview。这应该可以解决问题

    【讨论】:

    • 我试过了,它使我的程序在构建时崩溃。输出中没有给出任何特殊错误来帮助我调试。我正在尝试不同的方法。
    • 构建时崩溃? GCC 还是 LLVM?还有其他问题,因为这是规范的方法。请发布您的源代码
    • 我再次尝试以确保我第一次没有做愚蠢的事情。现在我得到了我在最后一行代码中有Use of undeclared identifier 'dataController' 的错误。我可以使用更多源代码编辑我的原始帖子,但我不确定代码的哪些部分对您最有用。
    • dataController 是如何定义的? (如果是视图控制器的属性,可能就这么简单self.dataController。)
    • 我实际上得到了这个工作,我的代码有很多问题,在评论中发布会占用太多空间。但是感谢您的帮助,因为绝对需要插座!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多