2012-12-12 37 views
-1

跨越这个NSString加法和我不知道它做什么或用于?NSString另外这个Objective-c代码是做什么的?

NSString *NSStringWithFormat(NSString *formatString, ...) { 
va_list args; 
va_start(args, formatString); 

NSString *string = [[NSString alloc] initWithFormat:formatString arguments:args]; 

va_end(args); 

#if defined(__has_feature) && __has_feature(objc_arc) 
    return string; 
#else 
    return [string autorelease]; 
#endif 
} 

回答

3

这是一个C函数,可以让你做到这一点:

NSString *str = NSStringWithFormat(@"This is a number: %d", someIntValue); 

,而不是这样的:

// No ARC 
NSString *str = [NSString stringWithFormat:@"This is a number: %d", someIntValue]; 

// With ARC 
NSString *str = [[NSString alloc] initWithFormat:@"This is a number: %d", someIntValue]; 

似乎有点毫无意义的我,因为有或没有ARC你可以使用“没有AR C“代码。这个C函数只保存几个字符。