加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 它是什么意思:“属性类型”JSQMessagesCollectionView“

发布时间:2020-12-14 17:33:48 所属栏目:百科 来源:网络整理
导读:我目前正在使用 Swift编写iOS应用程序,我在Objective C中使用了JSQMessages和JSQSystemSoundPlayer之类的东西. 当我在我的代码中介绍它们时,我使用了Xcode 6.2,它运行得很好. 我下载了Xcode 6.3.4以使用Swift 1.2,但现在我有40个警告: “属性类型”JSQMessa
我目前正在使用 Swift编写iOS应用程序,我在Objective C中使用了JSQMessages和JSQSystemSoundPlayer之类的东西.

当我在我的代码中介绍它们时,我使用了Xcode 6.2,它运行得很好.
我下载了Xcode 6.3.4以使用Swift 1.2,但现在我有40个警告:

“属性类型”JSQMessagesCollectionView“与类型”UICollectionView“不兼容,继承自”UICollectionViewLayout“”

我已经建立了一个桥接头来调用Objective C文件.

非常感谢

解决方法

在评论之后,这里是对此警告的解释.

Xcode 6.3有一个更新的编译器工具链,它更严格,因此你会看到更多的警告,包括这个.

这里,类JSQMessagesCollectionViewFlowLayout声明一个属性,其定义与其超类的定义冲突:

@property (readonly,nonatomic) JSQMessagesCollectionView *collectionView;

然而,在超类UICollectionViewLayout中,它被声明为:

@property(nonatomic,readonly) UICollectionView *collectionView;

Objective C不支持属性covariance,而这种覆盖是Jesse对语言的错误使用. JSQMessagesCollectionViewFlowLayout类应该公开一个属于子类类型的附加属性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读