微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – Swift – 使用Objective-C选择器’*’的方法’*()’与来自超类’NSObject’的’*’的getter冲突,具有相同的Objective-C选择器

我将此 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_);
    }

请指教.谢谢.

解决方法

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐