2012-12-12 38 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函數只保存幾個字符。