我希望将符合某个协议且为弱引用的对象存储在一个数组中。但是当我尝试循环它时,会出现编译错误:
public class Weak<T: AnyObject> {
public weak var value : T?
public init (value: T) {
self.value = value
}
}
public protocol ClassWithReloadFRC: class {
func reloadFRC()
}
public var objectWithReloadFRC = [Weak<ClassWithReloadFRC>]()
for owrfrc in objectWithReloadFRC {
//If I comment this line here, it will able to compile.
//if not I get error see below
owrfrc.value!.reloadFRC()
}
你知道这是什么意思吗?
Bitcast需要相同宽度的类型 %.asSubstituted = bitcast i64 %35 to i128, !dbg !5442 LLVM错误:发现损坏的函数,编译中止!
NSHashTable
或类似的东西,您将会得到与作者使用Weak
包装器时相同的错误。 - kelin