在归档时,在“编译 swift 文件”步骤中,它表示特定文件有此错误:
PHI node has multiple entries for the same basic block with different incoming values!
%31 = phi i64 [ 3, %385 ], [ %386, %385 ], [ 1, %29 ], !dbg !1370
label %385
i64 3
%386 = phi i64 [ %23, %27 ], !dbg !1433
LLVM ERROR: Broken function found, compilation aborted!
在对文件的代码进行了一段时间的注释后,我发现以下代码行是问题所在:
var normalizedStrikes = max(1, strikes)
normalizedStrikes = min(normalizedStrikes, 3)
在尝试了很多东西之后,我发现我不能先使用 max(),然后再使用 min(),这是为我解决问题的方法:
var normalizedStrikes = strikes
if (normalizedStrikes <= 0) {
normalizedStrikes = 1
}
normalizedStrikes = min(normalizedStrikes, 3)
我发现的另一件非常好的事情是,如果我将条件更改为“< 1”,它会抛出相同的错误。好东西。
var normalizedStrikes = strikes
if (normalizedStrikes < 1) {
normalizedStrikes = 1
}
normalizedStrikes = min(normalizedStrikes, 3)
我的问题是:为什么会这样?
顺便说一句,我使用的是 Xcode 版本 6.1.1 (6A2008a)
最佳答案
自 Xcode 6.3 (6D570) 起已解决此问题。
关于ios - 在 Xcode 上归档时按顺序使用 max() 和 min() 的 Swift 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28516677/