objective-c - NSString 上的 stringWithFormat 与 initWithFormat

标签 objective-c nsstring

我想知道以这种方式声明 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/

相关文章:

iphone - 在照片应用程序中创建、删除和添加图片到相册?

objective-c - 为什么 objc 运行时函数 `class_addMethod()` 在目标类为 `NSObject` 时将实现添加为实例和类方法?

java - 字符串类内部 - 如果使用 UTF-8,缓存字符偏移到字节关系

iOS:NSString 丢失 URL,显示 (null)

ios 如何正确使用 NSPredicate 将 NSString 与核心数据匹配?

iphone - 键值观察对 UITextView 的 Text 属性有效吗?

ios - 无法在 iOS 上的 AFNETWORKING 中使用多部分 POST 上传视频

c++ - const 类型 'NSString *const __strong' 对象的默认初始化?

ios - NSString 格式问题自动追加\x

ios - 在 NSData 和 base64 字符串之间转换