我已經subclassed UIView並提供我自己的drawRect,它工作正常。不過,我添加了這些方法,我的子類:分配和初始化在一個子類
- (id) alloc
{
NSLog(@"Alloc");
return [super alloc];
}
- (id) init
{
NSLog(@"Init");
if (self = [super init])
flashWhite = true;
return self;
}
我以爲只要創建一個子類的對象(通過Interface Builder的情況)時,alloc和初始化方法會被調用。然而,對象是創建的,但我的init和alloc不會被調用。這不應該發生,以確保正確的初始化?
此外,建設產生一個警告,UIView可能不會響應'分配' - 它不必從NSObject繼承,或者如何正確創建一個UIView?
我在上面的目標是我的子類視圖能夠在IB創建後自定義初始化。
我應該讓alloc成爲CLASS方法 - 'alloc alloc'ratherthan' - alloc – 2010-11-09 17:34:47
而不是' - alloc' - 所以當我這樣做時,我的子類的alloc就會被調用。但是我仍然對init感到困惑。 – 2010-11-09 17:37:07