[英]No such module 'GoogleSignIn' Xcode 9.3 and Swift 4.1
[英]Can't create protocol that is restricted to Classes in Xcode 9.3 / Swift 4.1
我正在尝试存储属于主题侦听器(主要是UIViews或UIViewControllers)的订户列表,我需要将它们存储在较弱的位置,否则UIViewControllers将永远不会释放,并且会发生内存泄漏。 我上了WeakRef课
https://marcosantadev.com/swift-arrays-holding-elements-weak-references/
当我将其放入项目并尝试对其进行编译时,我在Xcode 9.3的最后一行收到错误:
'WeakRef' requires that 'ThemeListener' be a class type
在Xcode 9.2中进行编译即可。
class WeakRef<T> where T:AnyObject
{
private(set) weak var value : T?
init( value:T?)
{
self.value = value
}
}
protocol ThemeListener : AnyObject
{
}
typealias WeakRefThemeListener = WeakRef<ThemeListener>
是否有人对如何解决此问题有任何建议。 尝试使用NSHashTable时,我也遇到同样的问题。
我认为您的协议应该是这样的:
protocol ThemeListener : class
{}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.