xcode:property'title''copy'属性与超类'UIViewController'属性不匹配

时间:2011-01-11 02:51:43

标签: iphone xcode compilation warnings

您好我正在收到此错误消息。通过对香蕉的热爱,我无法弄清楚我做得不对。

它只是一个

IBOutlet UILabel *title;

@property(nonatomic, retain) IBOutlet UILabel *title;

我已经连接到连接到UILabel的xib文件,因为我在运行时动态更改了标题。

类/../ taskViewController.h:44:警告:属性'title''copy'属性与超类'UIViewController'属性不匹配

我不明白这意味着什么。 通常我能够摆脱警告信息。但是这个...我不知道会发生什么。

有人可以指导我并解释这里发生的事情。

3 个答案:

答案 0 :(得分:15)

你的问题是UIViewController已经定义了一个title属性,你使用的是不同的内存管理选项。要解决此问题,请更改属性的名称。例如:@property (nonatomic, copy) UILabel *titleLabel;。如果希望实例变量具有相同的名称,并使用@synthesize,请使用@synthesize titleLabel=title;

顺便说一句,为什么要复制UILabel?通常你会使用retain来使它成为同一个对象。

答案 1 :(得分:3)

这意味着:

  • 你有一个UIViewController的子类
  • 它包含名为“title”的属性
  • 您已使用“copy”属性
  • 声明了该属性
  • 父类(UIViewController)已经具有“title”属性且定义冲突(即不是“copy”)

答案 2 :(得分:0)

我想澄清一下,标题是UIViewController中的预定义对象,因此您无法使用相同的名称创建自己的对象,更改其他内容并看到它不会给您错误。