gpt4 book ai didi

ios - 导致错误 : IR generation failure program too clever 的变量值

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

这是导致问题的简单代码:

class CoreViewController: UIViewController {
private let isPad = UI_USER_INTERFACE_IDIOM() == .Pad
}

错误信息如下

<unknown>:0: error: IR generation failure: program too clever: variable collides with existing symbol OBJC_CLASS_$_UIDevice

没有错误,如果我删除 UI_USER_INTERFACE_IDIOM() == .Pad

有什么想法吗?

最佳答案

UI_USER_INTERFACE_IDIOM在 Swift 中工作,它是一个 Objective-C 宏。

解决方案

选项 1。改用 UIDevice.currentDevice().userInterfaceIdiom

switch UIDevice.currentDevice().userInterfaceIdiom {
case .Phone:
// It's an iPhone
case .Pad:
// It's an iPad
case .Unspecified:
// Undefined
}

选项 2. 请求一个 UITraitCollection 实例并检查习语(推荐)

let deviceIdiom = UIScreen.mainScreen().traitCollection.userInterfaceIdiom

switch (deviceIdiom) {

case .Pad:
// It's an iPad
case .Phone:
// It's an iPhone
case .TV:
// Apple TV
default:
// Undefined
}

关于ios - 导致错误 : IR generation failure program too clever 的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35676671/

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