我想知道以这种方式声明 NSString 有哪些区别,例如缺点和/或优点:
NSString *noInit = [NSString stringWithFormat:@"lolcatz %d", i];
相对于:
NSString *withInit = [[NSString alloc] initWithFormat:@"Hai %d", i];
使用 stringWithFormat
而不是仅仅使用 initWithFormat
来初始化字符串的动机是什么?
最佳答案
stringWithFormat:
返回一个自动释放的字符串; initWithFormat:
返回一个必须由调用者释放的字符串。前者是一种所谓的“方便”方法,对短期字符串很有用,因此调用者不必记住调用 release
。
关于objective-c - NSString 上的 stringWithFormat 与 initWithFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3898974/