Swift-具有目标C选择器'*'的方法'*()'与具有相同Objective-C选择器的超类'NSObject'中的'*'的吸气剂发生冲突

穆罕默德·努尔丁(Mohammad Nurdin)

由于将xcode更新为6.3.1,所以收到了此错误消息。

/Users/MNurdin/Documents/iOS/xxxxx/Models/Message.swift:46:10: Method 'hash()' with Objective-C selector 'hash' conflicts with getter for 'hash' from superclass 'NSObject' with the same Objective-C selector

我的密码

var hash_ : UInt

func hash() -> UInt {
        return UInt(hash_);
    }
luk2302

详细说明:@property(readonly) NSUInteger hash是的Objective-C属性NSObject,这意味着为该变量创建了一个吸气剂hash()

现在,您尝试定义一个具有相同名称和相同参数的方法(无),但是具有不同的返回类型(UInt而不是NSUInteger,这将是Int迅速的)。因此,您收到给定的错误。要解决该问题,您现在有两个选择:

  • 将返回类型更改为Int->将覆盖预定义的哈希函数
  • 选择其他方法名称或添加参数

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章