Swift 1.2 -> NSSet -> 不兼容的类型 [重复]

Posted

技术标签:

【中文标题】Swift 1.2 -> NSSet -> 不兼容的类型 [重复]【英文标题】:Swift 1.2 -> NSSet -> incompatible type [duplicate] 【发布时间】:2015-04-16 04:25:15 【问题描述】:

好的,Swift 1.2 发生了什么?我最近更新了,突然我的项目全是红色的。是否删除了与 NSSet 的兼容性或什么?我该如何解决这个问题?

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) 

结果:

Overriding method with selector 'touchesBegan:withEvent:' has incompatible type '(NSSet, UIEvent) -> ()'

【问题讨论】:

【参考方案1】:

请不要将 NNsets 现在声明为:

 func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent)

请尝试以下代码进行覆盖

  override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) 

        // ...
    

【讨论】:

【参考方案2】:

将 NSSet 更改为 Set。 Swift 现在拥有自己的原生集合,并将 NSSet 连接到它们,就像它处理数组和字符串一样。

【讨论】:

以上是关于Swift 1.2 -> NSSet -> 不兼容的类型 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

迭代 NSSet 并强制转换为一步到位

如何使用 NSSet 填充 tableView? (迅速)

xcode 无法将类型的值分配给 NSSet

无法使用类型为“(数组:[NSData?])”的参数列表调用类型“NSSet”的初始化程序

Swift 一对多关系

在 Swift 中获取多个触摸的坐标