使用[NSString stringWithFormat:]后可以释放C字符串吗?

rid*_*rid 1 c objective-c nsstring

我可以将它传递给后释放C字符串[NSString stringWithFormat:]%s?例如:

char *str = malloc(...);
// ... populate str ...
NSString *message = [NSString stringWithFormat:@"[%s]", str];
free(str); // should this be here, or after I'm done with message?
Run Code Online (Sandbox Code Playgroud)

Mat*_*ing 8

创建NSString后,您可以立即安全地释放char缓冲区.NSStrings总是复制传递给它们的数据.这保证了它们的不变性.