在 Swift 中声明 "NSMapTable StrongObject" 3
Declare "NSMapTable StrongObject" in Swift 3
如何在 Swift 3 中声明一个 NSMapTable
?为什么 Apple 的这个例子不起作用?
let activeLines = NSMapTable.strongToStrongObjectsMapTable()
Xcode 建议更改为:
let activeLines = NSMapTable.strongToStrongObjects()
但是还是不行。
我需要将此示例转换为 Swift 3
NSMapTable.strongToStrongObjects()
将失败并显示错误:
error: generic parameter 'KeyType' could not be inferred
NSMapTable.strongToStrongObjects()
^
NSMapTable的class声明是:
open class NSMapTable<KeyType : AnyObject, ObjectType : AnyObject> : NSObject, NSCopying, NSCoding, NSFastEnumeration
您需要在其声明中指定地图 table 的键和对象类型:
NSMapTable<NSObject, NSObject>.strongToStrongObjects()
如何在 Swift 3 中声明一个 NSMapTable
?为什么 Apple 的这个例子不起作用?
let activeLines = NSMapTable.strongToStrongObjectsMapTable()
Xcode 建议更改为:
let activeLines = NSMapTable.strongToStrongObjects()
但是还是不行。
我需要将此示例转换为 Swift 3
NSMapTable.strongToStrongObjects()
将失败并显示错误:
error: generic parameter 'KeyType' could not be inferred
NSMapTable.strongToStrongObjects()
^
NSMapTable的class声明是:
open class NSMapTable<KeyType : AnyObject, ObjectType : AnyObject> : NSObject, NSCopying, NSCoding, NSFastEnumeration
您需要在其声明中指定地图 table 的键和对象类型:
NSMapTable<NSObject, NSObject>.strongToStrongObjects()