属性与主类中的属性类型不匹配

时间:2014-11-17 22:02:31

标签: ios objective-c

我从iOS 8开始遇到m文件问题(但在iOS 7上运行),我需要这个

@property (nonatomic, retain) UITextView *description;

但是在NSObject.h中我有这个:

@property (readonly, copy) NSString *description;

Xcode返回此错误 - > "属性类型' UITextView *'类扩展中的属性类型与主类#34;

不匹配

我想我必须更改我的UITextView的名称,但我不确定。

你可以给我一些建议吗?

1 个答案:

答案 0 :(得分:2)

是的,您需要更改UITextView的名称,我需要更改descriptionTextView或类似名称。

这里发生的是NSObject already has a property named description。由于您设置此属性的对象可能继承自NSObject,因此系统显然认为您正在尝试扩展NSObject。由于它的属性类型为NSString,并且您尝试定义类型为UITextView的属性,因此编译器会自行决定并确定它无法正常工作。所以你得到这个错误。

可能发生的事情是编译器在iOS 8中比在iOS 7中更聪明,因此捕获了这个错误。无论哪种方式,改变它都符合你的最佳利益!