我不明白有些情况是:的Objective-C初始化/初始化方法
1)
+(void)initialize {
if(self == [Bicycle class]) // Make sure it's not executed more than once
_defaultMark = @"Unbranded product";
}
据我所知,这种方法被称为第一种方法。但我不明白为什么它可以确保不会执行多次?在一次执行之后,在这种情况下,自我总是等于Bicycle类,非?
2)
if(self = [ super init])
有人可以解释我说清楚为什么它是真的有必要做在init或initWithSomething方法?
3)HS问题
@protocol StreetLegal <NSObject>
如果我们不AVEC协议名称使用什么样的?
所以真的有必要做if(self == [Bicycle class])? –
我认为你发布的'initialize'是在一些基类中。如果它在基类中,那么也会为后代类调用'initialize'。通过这种方式,你可以确保'if-then'只为'Bicycle'类执行。 – Francesco