声明“NSMapTable StrongObject”在Swift 3中 [英] Declare "NSMapTable StrongObject" in Swift 3
本文介绍了声明“NSMapTable StrongObject”在Swift 3中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在Swift 3中声明 NSMapTable
?为什么Apple的这个例子不起作用?
How can I declare an NSMapTable
in Swift 3? Why doesn't this example from Apple work?
let activeLines = NSMapTable.strongToStrongObjectsMapTable()
Xcode建议更改为:
Xcode suggested change to:
let activeLines = NSMapTable.strongToStrongObjects()
但它仍然不起作用。
我需要将此示例转换为Swift 3
I need convert this example to Swift 3
推荐答案
NSMapTable.strongToStrongObjects()
将失败并显示错误:
error: generic parameter 'KeyType' could not be inferred
NSMapTable.strongToStrongObjects()
^
NSMapTable的类声明是:
The class declaration of NSMapTable is:
open class NSMapTable<KeyType : AnyObject, ObjectType : AnyObject> : NSObject, NSCopying, NSCoding, NSFastEnumeration
您需要指定地图表的键和对象类型在其声明中:
You need to specify the key and object types of your map table in its declaration:
NSMapTable<NSObject, NSObject>.strongToStrongObjects()
这篇关于声明“NSMapTable StrongObject”在Swift 3中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文