についていくつかの機能を知りたいですself
。
self
クラスメソッドに変数を持つコンテキストはどれですか?- メソッド
self.self
で許可されているのはなぜですか?init
初め:
クラスがありますExampleClass
@interface ExampleClass:NSObject
@property (nonatomic,strong) NSString* a;
+(ExampleClass*)createExampleClass;
@end
@implementation ExampleClass
-(id)init{
self = [super init];
if(self){
[self.self init]; #Allowed
[self init]; #Not Allowed ?
}
}
+(ExampleClass*)createExampleClass{
/*do work here*/
NSLog(@"Self: %@ \n Class: %@",self,[self class]);
}
@end
この例では、次のようになります。
Self: ExampleClass
Class: ExampleClass
しかし、なぜ?!
init
メソッドでは許可され[self.self init]
ていますが、'[self init]' は許可されていません。
なぜこれが起こるのですか?