在我的项目中,我在标签栏应用程序中有两个UIViewController
,每个都包含一个显示来自RSS提要的信息的UITableView
。除了单个NSString
参数(提要URL)之外,两个视图控制器应完全相同。
我知道我可以简单地将代码从一个UIViewController
复制并粘贴到另一个UIViewController
,但我想知道是否有更好的方法来执行此操作。我不确定我是否正确地说这个,但我想我想创建一个包含{{1}}“实例”的单独文件,并将该实例应用于我的应用程序中的每个视图控制器。
我想知道我要求的东西是否可行,以及如何完成。
答案 0 :(得分:3)
我假设这两个视图控制器都安装为标签栏控制器的标签。
如果是这种情况,那么您希望两个视图控制器是同一视图控制器类的不同实例。如果你愿意的话,同卵双胞胎。我们称之为MyRSSTableViewController。您只需为MyRSSTableViewController类提供feedURL属性,并将该属性设置为创建MyRSSTableViewController类的每个实例的一部分。
这是面向对象编程的基本概念,如果你没有得到它,那么你需要停下来做一些阅读。您可能想查看“Objective-C编程:Big Nerd Ranch指南”。那本书将从一开始就教你用C和Objective C编程。
如果您已经拥有其他程序语言的编程经验,那么该书可能不是您的最佳选择。告诉我们您当前的技能,我们可以提出更好的建议。
答案 1 :(得分:0)
就个人而言,我只需要标题切换,并根据bool值更改数组的数据源。然后在想要切换时调用reload。
但最好的方法绝对是Duncan C的
答案 2 :(得分:-2)
你可以做的是重载你的UIViewController的构造函数(就像你对任何类一样)并添加url作为参数。
使用这种方法,您将创建UIViewController的2个实例,其中创建它们时使用的参数唯一不同。