当前位置: 首页 > 知识库问答 >
问题:

Xcode 8 beta 6放卷序列似乎已中断,因为“WithSegue”已自动添加到@iAction放卷方法名称中

宓英哲
2023-03-14

我刚刚意识到,在当前的Xcode 8 beta 6中,当我将一个展开操作连接到一个modally presented view controller中的一个bar按钮项,以展开模态presentation segue并在导航堆栈中显示之前的视图控制器时,Xcode在可用于此目的的现有@iActions的名称中添加了一个“WithSegue”,这会中断展开顺序(不会执行)。如果我在源代码中编辑情节提要文件(以XML格式),并从@iAction方法标识符中删除此“WithSegue”,则segue将按预期工作。例如,我在原始视图控制器(展开序列的目标)中的展开方法称为“unwindFromSettingsToTableView”,当我CTRL键将模式显示的视图控制器中的条形按钮项连接到场景驳接中视图控制器的退出项时,Xcode/Interface Builder会将此方法重命名为“unwindFromSettingsToTableViewWithSegue”。

这是Xcode 8测试版中的一个bug吗?这是已知的bug吗?我错过什么了吗?

我检查了以前连接的展开段(在Xcode 7中连接),它们没有“with segue”后缀。如果我删除那些现有的“vintage”展开段,并在Xcode 8中再次连接它们,那么Interface Builder现在会建议使用相同的方法名称和后缀“WithSegue”,而这些分段会中断。当我删除情节提要源代码中的后缀时,展开序列再次工作。

如果能得到任何指示就太好了。这种行为很烦人。

致以最良好的祝愿!比约恩

共有3个答案

顾琛
2023-03-14

这个问题在发布的Xcode 8.0版本中仍然存在,而不仅仅是beta版本。

不过,我在展开segue中注意到的是,后缀是“SusUnwindSegue”,而不是“SusSegue”

我也在使用swift 2.3项目,并创建了一个放松序列。与上述类似,在情节提要上,修复方法是删除segue属性检查器的Action属性(字段)中的WithUnwindSegue后缀。

颛孙英勋
2023-03-14

我遇到了与OP相同的问题,在xcode 8 beta 6中使用swift 2.3。

这篇使用ios 8的文章解释了如何以编程方式展开segue。在第三步中,在文档大纲中选择展开segue。

选择此选项并将右上角的“unwindToSecondVCWithSegue”更改为“unwindToSecondVC”,使其与解决我的问题的代码匹配。

@IBAction func unwindToSecondVC (segue: UIStoryboardSegue) {
    print("unwindToSecondVC")
}
麹正业
2023-03-14

在Swift 3中,如果您不希望它添加SusSegue,请将您的@IBAction方法定义为不命名第一个参数:

@IBAction func unwindHome(_ segue: UIStoryboardSegue) {
    // this is intentionally blank
}

如果您不使用_语法,当它连接@IBAction时,它会将NevSegue添加到名称中。

当我将上述语法用于展开操作时,它在Xcode 8 beta 6中运行良好。

顺便说一句,当我不使用上面在beta 6中显示的_语法时,它将操作命名为unwindHomeSusSegue,但它仍然可以使用更长的名称,不需要编辑故事板XML。我想知道您无法运行的展开segue是否是其他问题的结果。我们需要一个可重复的问题示例来进一步诊断。也许您可以共享一个MCVE。

 类似资料:
  • 我正在尝试通过docker Compose建立一个单元测试运行时。当我试图通过Docker运行一个npm脚本时-compose节点的行为就好像它在路径上找不到模块: 我认为这一切都很简单,我以前也做过类似的设置,但在Docker for Mac上。这一次我运行Docker For Windows并通过WSL运行命令。我共享了驱动器,并将/mnt/c绑定到/c。 作为另一个参考,我可以在Docker

  • 我最近将一个Laravel4.2项目迁移到了5.0。到目前为止,我已经完成了所有必要的步骤,但我不断得到一个错误。 无法声明类Controller,因为名称已在使用中 我的控制器已按照laravel在升级指南中提供的内容进行了更改。 此外,我已将其添加到我的composer.json.的类映射指令 到目前为止,我找不到任何解决方案,如果你们知道该怎么做,这将对我有很大帮助:)提前谢谢!

  • 问题内容: 我正在开发一个项目,其中通过添加Hibernate批注来保留一些POJO。我遇到的一个问题是,这样的代码失败了,因为Hibernate尝试将内的子字段映射到同一列上(即,两者都试图映射到colum ,从而导致错误)。 由于会有很多出现这样在整个系统中,这将是很好,如果有一个选项来自动添加一个前缀列的名称(例如使列是,,,),而不必基于每个应用覆盖领域基础。Hibernate是否具有此功

  • 看起来是这样的 我来来回回地想弄清楚这到底是怎么回事。有些东西不能直接开箱操作,这似乎很奇怪。有人面临类似的问题吗?

  • 我计划通过存储某种可以在JS中生成的校验和来实现一个解决方案,以确保数据完全存在。如果没有,则清除它并从服务器中取出。

  • 此问题似乎与在帮助中心定义的范围内编程无关。 我不明白为什么在使用卷积神经网络时需要翻转滤波器。 根据千层面文件, flip_filters:bool(默认值:True) 是在将过滤器滑动到输入上之前翻转过滤器,执行卷积(这是默认设置),还是不翻转过滤器并执行相关。请注意,对于千层面中的其他一些卷积层,翻转会产生开销,默认情况下是禁用的–使用从其他层学习的权重时,请查看文档。 这是什么意思?我从未