以下のコードスニペットを理解するのに助けが必要です。具体的には、を呼び出すcopy
ときにキーワードが使用される理由を知りたいです。methodB
methodA
+ (NSString*) methodA {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentsDirectory,
NSUserDomainMask, YES);
return [paths objectAtIndex:0];
}
+ (NSString*) methodB:(NSString*)stringToAppend {
static NSString *s = nil;
if(!s) s = [[self methodA] copy];
return [s stringByAppendingString:stringToAppend];
}
補足:明らかに、クラスメソッドはを使用して他のクラスメソッドを呼び出すことができますself
(インスタンスメソッドはこのようなクラスメソッドを呼び出す必要があります)[ClassName classMethodName];