gpt4 book ai didi

ios - LLVM 错误 : Call parameter type does not match function signature

转载 作者:搜寻专家 更新时间:2023-11-01 05:41:54 27 4
gpt4 key购买 nike

试图获得 SwiftAddressBook使用 CocoaPods 进行设置,编译时出现以下错误:

Call parameter type does not match function signature! %V16SwiftAddressBook15MultivalueEntry.87* %0 %V16SwiftAddressBook15MultivalueEntry.85* tail call void @_TFFC16SwiftAddressBook22SwiftAddressBookPersonP33_ECEF355CFD253D8039C191CB27BDAECD24convertMultivalueEntriesFS0_U_Ss9AnyObject__FTGSqGSaGVS_15MultivalueEntryQ____9converterFQ_Q0__GSqGSaGS2_Q0____U_FGS2_Q__GS2_Q0__(%V16SwiftAddressBook15MultivalueEntry.87* noalias sret %0, %V16SwiftAddressBook15MultivalueEntry.86* noalias %3, i8* %.fn.load, %swift.refcounted* %6, %swift.type* %8, %swift.type* %10), !dbg !8665 LLVM ERROR: Broken function found, compilation aborted!

它似乎在提示以下 method :

private func convertMultivalueEntries<T,U : AnyObject>(multivalue : Array<MultivalueEntry<T>>?, converter : (T) -> U) -> Array<MultivalueEntry<U>>? {
return multivalue?.map { m -> MultivalueEntry<U> in
return MultivalueEntry(value: converter(m.value), label: m.label, id: m.id)
}
}

如果我放弃 CocoaPods 安装,而只是将源代码复制到我的主项目中,它编译得很好。

有没有一种方法可以简化此方法调用,使 LLVM 编译器不会阻塞它?还是我的 CocoaPod 设置不正确?

最佳答案

我能够通过删除 map() 的使用并显式键入返回数组来安抚 LLVM 编译器:

private func convertMultivalueEntries<T,U: AnyObject>(multivalue : [MultivalueEntry<T>]?, converter : (T) -> U) -> [MultivalueEntry<U>]? {

var result: [MultivalueEntry<U>]?
if let multivalue = multivalue {
result = []
for m in multivalue {
var convertedValue = converter(m.value)
var converted = MultivalueEntry(value: convertedValue, label: m.label, id: m.id)
result?.append(converted)
}
}
return result
}

关于ios - LLVM 错误 : Call parameter type does not match function signature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28490963/

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