我有ViewControllerA和ViewControllerB,它们都是包含项目列表的表VC。现在,您可以点击"添加项目"在ViewControllerA上,它将打开ListViewController,您可以从列表中选择/添加新项目...这里有一个条形按钮'完成'当您做出选择时,该项目会将您带回ViewControllerA。
到目前为止,我只是通过拖动我的“完成”来完成所有这些工作。按钮在故事板中退出并选择我创建的展开动作(因此没有示例代码显示)。
现在我想进入ViewControllerB,点击'编辑'按钮,它将我带到相同的ListViewController,我可以在其中进行编辑和展开回ViewControllerB。在故事板中,当我拖动“完成”时,按钮并选择ViewControllerB展开操作,它将从ViewControllerA中删除该操作。
我的问题:我是否必须抓取故事板拖放操作并以编程方式执行此操作?甚至可以让一个按钮基于源ViewController执行多个动作吗?
我很难想出一个准确的搜索查询,因此很难排除故障。
答案 0 :(得分:0)
这可以通过enum来完成,例如首先定义不同的状态或动作
typedef enum {
firstAction,
secondAction,
soOnnn.....
} ActionTypeType;
现在当你要推动你的控制器定义一个像
这样的属性时@property (nonatomic, assign) LeagueType actionType;
并将其设置为您想要的操作
[backButton addTarget:self action:@selector(commonAction:) forControlEvents:UIControlEventTouchUpInside];
并为不同的操作设置开关案例,如
-(void)commonAction:(id)sender {
switch(_actiontype) {
case firstAction: { // do you code here }
}
}