Iphone 确定segue是否为展开segue?
在prepareForSegue方法中,我有大约6个segue执行相同的操作,但是,我想为我的展开segue跳过此操作,但我不知道如何确定正在传递的segue是否为展开segueIphone 确定segue是否为展开segue?,iphone,objective-c,ios,storyboard,segue,Iphone,Objective C,Ios,Storyboard,Segue,在prepareForSegue方法中,我有大约6个segue执行相同的操作,但是,我想为我的展开segue跳过此操作,但我不知道如何确定正在传递的segue是否为展开segue 任何帮助都将不胜感激。啊,没关系,机器猫得到了答案,基本上就是给放松段一个标识符。直到我意识到你可以从故事板左边的拉出面板中选择segues并从那里设置标识符,我才知道该怎么做 谢谢 prepareforsgue仅在前进方向调用。当你放松时,它不会被调用。要处理展开序列,您需要将退出按钮连接到IBAction方法,该方
任何帮助都将不胜感激。啊,没关系,机器猫得到了答案,基本上就是给放松段一个标识符。直到我意识到你可以从故事板左边的拉出面板中选择segues并从那里设置标识符,我才知道该怎么做
谢谢
prepareforsgue
仅在前进方向调用。当你放松时,它不会被调用。要处理展开序列,您需要将退出按钮连接到IBAction方法,该方法将序列作为参数。当您展开时,将调用此方法
这有更多关于如何使用它们的细节。我对斯威夫特本人来说是个新手。但我相信这里有一些误解。如果您自己添加一个展开序列,则会触发prepareForSegue。但是单击导航栏中自动显示的“后退”按钮时,实际上并没有触发prepareForSegue。既然您自己设置了segues,为什么不在
prepareForSegue
中使用if
测试来跳过额外的方法调用呢?我知道的唯一方法是编写一个“if”语句,该语句检查我要在其上执行代码的所有6个序列标识符。我宁愿用一个“如果不是放松的话,那就废话”。据我所知,您无法将标识符设置为展开序列,并且没有其他方法来确定这一点?在IB中设置展开序列的标识符,然后检查是否(否==[[segue identifier]IsequalString:@“展开”])
在prepareForSegue:
中,代码只对非展开段运行。如何设置展开段的标识符?请告诉我。很高兴你在属性检查器中找到了这个字段。是的,我忘记了我以前是怎么做的,直到我看到这个答案:-)我刚刚测试了这个,Becca是对的。在我上面的描述中,这不是一个问题。THX这仅适用于segue.destinationViewController
。从文档中可以看出:“在展开和标准段中,源场景都可以实现prepareForSegue以将信息发送到目的地。”确认您可以在prepareForSegue中检查展开段。展开段的标识符很好。您的评论似乎相互矛盾,@Travis。我的经验和苹果的技术笔记表明,prepareForSegue:sender:
实际上是用于展开序列的,所以这个答案似乎不正确。