ios - 检测从前一个 View Controller 点击了哪个按钮

标签 ios objective-c iphone segue

我有两个 View Controller “SortViewController”和“CatalogeViewController”。 我有一个“SortViewController”6 Button,它与 push segue 连接到“CatalogeViewController” 我怎么知道用户来自哪个按钮? 我为 segue 设置了一个标识符,我考虑过准备 segue 并在用户按下按钮时向“CatalogeViewController”发送一个字符串变量,并检查它是否与“CatalogeViewController”上的字符串相同。 还有另一种方法吗? 请有人可以根据我的问题向我解释如何使用字符串变量为 segue 做准备。 谢谢

最佳答案

Bouabane 的答案可行,但它需要为每个按钮创建不同的 segue,这在最初需要做更多的工作,更难维护,并且会因大量的 segue 连接而使 Storyboard变得困惑。

由于您所有的按钮都链接到同一个目的地,所以我会采用不同的方式。

通过控制从第一个 VC (ViewController) 拖动到第二个 VC 来手动创建一个 segue。给它一个唯一的标识符,比如“ButtonSegue”

然后为所有按钮创建一个 IBAction。将所有按钮链接到同一操作。

给每个按钮一个唯一的标签号。使用连续的数字范围(例如 101、102...106)。

在您的 IBAction 方法中,将按钮的标签编号保存到一个实例变量中。

在您的 prepareForSegue 中,将标记号实例变量传递给您的目标 VC。 (匹配数字的代码比匹配字符串的代码更快更简单。对于数字,您可以使用 switch 语句。)

为了使代码更清晰、更易于阅读,我将定义一个带有可能标记值的 typedef 枚举,然后使源 View Controller 的标记号实例变量和目标 View Controller 的标记号属性使用该类型。

关于ios - 检测从前一个 View Controller 点击了哪个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26957374/

相关文章:

ios - 将值从一个ViewController传递给Objective-C中的另一个

iphone - MPMediaQuery 搜索艺术家、专辑和歌曲

ios - UIImageView图像出现两次

iphone - UIBarButtonItem 通过编程在里面设置Action touch up

iphone - Objective-C,协议(protocol)和子类

iphone - UIView 动画沿着圆形路径?

iphone - NSString 值划掉 iPhone

iphone - 编写父 View Controller 的终极指南

ios - 调用 popViewController Animated 后 UITableview 滚动到顶部

ios - 有没有办法在具有与全局函数名称相同的方法的类中调用全局函数?