【问题标题】:Segue a UItableView to another UITableView将一个 UITableView 连接到另一个 UITableView
【发布时间】:2012-08-02 23:06:36
【问题描述】:

我不确定当你有一个多 MVC 项目时你必须分开什么。假设我有两个表格视图控制器,第一个显示一个表格,当我单击一个单元格时,它会连接到第二个表格视图控制器。表的信息是使用名为 FlickrFetcher 的第三个单独文件中的方法创建的。第一个表 View 有一个 FlickrFetcher 创建的实例,允许它调用方法。我是否也可以将 FlickrFetcher 导入到第二个表视图控制器中,还是应该将这些控制器分开并仅通过 segue 传递所需的信息?

【问题讨论】:

    标签: objective-c xcode model-view-controller segue


    【解决方案1】:

    就语言允许的内容而言,您当然可以在您的第二个表格视图控制器中拥有 FlickrFetcher 类的实例,或者当您进行 segue 时,您可以从第一个视图传递对同一类实例的引用控制器到你的第二个。否则,最好的办法是仅通过 segue 从 FlickrFetcher 传递第二个视图控制器所需的特定信息(这取决于您在第二个视图控制器中需要多少)。这主要取决于您,但通过 segue 传递可能更有效,并且在语义上更有意义。希望这能回答你的问题

    【讨论】:

    • 我认为您应该将控制器分开,但通过导入创建实例会违反 MVC 设计模式吗?
    • 我敢肯定,如果您想严格遵循 MVC,最好通过 segue 传递您的第二个视图控制器所需的特定信息。仅供参考,如果您在 segue 中复制了对 FlickrFetcher 对象的引用(例如,如果第二个视图控制器具有 flickrFetcher 属性),则只要第二个视图控制器的 flickrFetcher 属性是强指针。
    • 我假设您的意思是 FlickrFetcher 类上的一个协议,以便您的第二个视图控制器有一个指向符合该协议的 id 的指针,在这种情况下,我猜这会起作用,那样你只为第二个视图控制器提供必要的东西。
    • 如何在第一个具有 flickrFetcher 实例的 TableView 控制器中制作协议?还是直接在 FlickrFetcher 类中做会更好?
    • 恕我直言,协议应该与 FlickrFetcher 类(可能是接口文件)在同一个文件中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    相关资源
    最近更新 更多