2011-01-11 54 views
9

嗨我目前收到此錯誤消息。並且受到香蕉之愛的影響,我無法弄清楚自己做得不對。xcode:property'title''copy'屬性與超類'UIViewController'屬性不匹配

它只是一個

IBOutlet UILabel *title; 

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

我做了連接到連接到一個UILabel,因爲我在運行時動態地更改標題我的廈門國際銀行文件。

類/../ taskViewController.h:44:警告:屬性「標題」「複製」屬性不匹配超類的UIViewController的「屬性

我不明白這是什麼意思。 通常我能夠擺脫警告信息。但是這個......我不知道發生了什麼。

有人可以請指導我解釋這裏發生了什麼。

回答

15

你的問題是,UIViewController已經定義了一個title屬性,並且你正在使用不同的內存管理選項。要解決此問題,請更改您的財產的名稱。例如:@property (nonatomic, copy) UILabel *titleLabel;。如果您希望實例變量具有相同的名稱,並使用@synthesize,請使用@synthesize titleLabel=title;

另外,你爲什麼要複製一個UILabel?通常情況下,你會使用retain來保證它是同一個對象。

+0

這就是我所擁有的......我沒有'複製'這個詞,我確實有'保留'這個單詞..... @property(nonatomic,retain)IBOutlet UILabel * title; – Pavan 2011-01-11 03:09:25

+0

然後UIViewController必須使用副本。我會預料到,因爲它是一個NSString,但我認爲這個錯誤會給你所用的。 – ughoavgfhw 2011-01-11 09:04:24

3

這意味着:

  • 你的UIViewController的一個子類
  • 它包含了一個名爲「標題」
  • 您已聲明與「複製」屬性property屬性
  • 父類(UIViewController)已經具有衝突的定義(即,不是「複製」)的「標題」屬性
0

那麼我想只是澄清標題是在UIViewController預定義的對象,所以你不能創建你自己的同名同名對象,改變與別的東西,看到它不會給你那個錯誤。