实现Swift的NSObjectProtocol哈希在Objective-C中生成警告

时间:2014-10-02 17:37:30

标签: objective-c swift

Swift协议NSObjectProtocolhash定义为返回Int的属性。 Objective-C协议NSObjecthash定义为NSUInteger类型的属性。

由于NSUInteger是无符号整数,Int是有符号整数,因此这些类型不兼容。因此,为符合NSObjectProtocol的任何Swift对象生成的Objective-C标头会生成以下形式的警告:

  

"物业类型' NSInteger" (又名' int')与类型' NSUInteger'不兼容(又名' unsigned int')继承自' NSObject'。

有没有办法定义一个Swift对象,以便它不会产生这些警告? (不用说,我不想用编译指示手动调整生成的头文件。)

另外,甚至还需要哈希? API文档说它可以在iOS7.1中使用,但它没有标记为可选,所以我很困惑。

0 个答案:

没有答案