gpt4 book ai didi

xcode - Swift 的一个案例枚举在运行时导致 BAD_ACCESS

转载 作者:搜寻专家 更新时间:2023-11-01 06:19:46 31 4
gpt4 key购买 nike

我在 Xcode 7.3 上的 Swift 2.2 中发现了一个奇怪的错误(或者这不是错误但我做错了什么)。

我有一个枚举,其中一个案例和类将此枚举作为初始化程序的参数

enum OneCaseEnum {
case X
}

class OneEnumWrapper {
var myVar: OneCaseEnum

init(v: OneCaseEnum)
{
self.myVar = v
}
}

现在,如果我在真实应用程序中运行此代码,即在 AppDelegate 中的某处:

let e = OneCaseEnum.X
print(e)
let x = OneEnumWrapper(v: e)
print(x)

我在第 3 行的运行时得到了 BAD_ACEESS。

  • 它在 Xcode 7.3 中崩溃(在以前的版本上工作正常)。
  • 在 Playground 上工作正常。
  • 如果我添加另一个枚举案例就可以了
  • 如果我将 myVar 标记为未包装的可选作品 OK

是我做错了什么还是 Swift/Xcode/编译器/其他错误?

最佳答案

这绝对是编译器的错误。奇怪的是,向您的 enum 添加第二个 case 效果很好:

enum OneCaseEnum {
case X
case Y
}

class OneEnumWrapper {
var myVar: OneCaseEnum

init(v: OneCaseEnum)
{
self.myVar = v
}
}

let e = OneCaseEnum.X
print(e)
let x = OneEnumWrapper(v: e) // no crash
print(x)

在识别并修复此崩溃之前,您可以将其用作解决方法。

rdar://25314388

SR-1035

Sample project

关于xcode - Swift 的一个案例枚举在运行时导致 BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36176765/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com