【发布时间】:2017-05-23 16:34:45
【问题描述】:
我想看看 appendFormat 在 Objective-C 中是如何实现的:
https://developer.apple.com/reference/foundation/nsmutablestring/1497308-appendformat
- (void)appendFormat:(NSString *)format, ...;
有没有办法查看实现?
我发现了这个:
https://github.com/cjwl/cocotron/blob/master/Foundation/NSString/NSMutableString.m#L111
-(void)appendFormat:(NSString *)format,... {
NSString *string;
NSRange range={[self length],0};
va_list arguments;
va_start(arguments,format);
string=NSAutorelease(NSStringNewWithFormat(format,nil,arguments,NULL));
va_end(arguments);
[self replaceCharactersInRange:range withString:string];
}
但我不确定它是否与 Cocoa 相同。
我想查看实现,以便确认运行时。由于appendFormat 用于可变字符串,我假设appendFormat 的运行时间是最坏情况O(n) 和摊销O(1),但我不确定。
(我不是 Objective-C 开发人员。)
【问题讨论】:
标签: objective-c cocoa