我有兩個類。一個是使用相同的文件作爲第二,與其他一些修改基本建立,但它們基本上是相同的,特別是對於他們的聲明文件(有這樣的事)...Xcode - 綠色變量x黑色變量
@protocol myClassDelegate <NSObject>
// delegate protocol definition
@end
@interface myClass : UIView {
id myObject;
UIView *oneView;
}
@property(nonatomic,assign) id<myClassDelegate> delegate;
@property(nonatomic,retain) UIView *oneView;
,然後我有@synthesize oneView,委託; on .m
您看到的代碼對於這兩個類都是通用的。
兩個類的實現裏面,我多次使用這兩個對象,例如:在我的第一類
[delegate doStuff]; // <-- do you see this blue delegate here? Xcode put it green when it is declared on .h first.
,oneView或委託的每次出現都被Xcode中顯示爲綠色(見下圖) 。在第二堂課中,他們顯示爲黑色。我通常認爲這個綠色字是某種承認變量已經在聲明中被識別並且對於該類是「全局」的。通常黑色變量表示本地實例。
現在的問題是,我有這些變量之一的問題被釋放,沒有我的意圖,完全在它顯示爲黑色的類上。
該類中沒有釋放該變量(dealloc除外),但使用這兩個類創建的對象始終在應用程序運行時一直處於活動狀態。
什麼可能是錯的?
在此先感謝。
委託var不能被釋放 - 它是一個assign-property! – Felix 2011-01-30 20:30:31
抱歉,代碼中存在拼寫錯誤。 oneView被聲明爲保留。螞蟻這一個視圖在一個類中以黑色顯示,而在另一個類中顯示爲綠色。給我帶來問題的班級是變量是黑色的班級。 – Roger 2011-01-30 20:37:40