我需要一些帮助来理解下面的代码片段。具体来说,我想知道为什么在调用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];