我可以在使用[NSString stringWithFormat:]
将C字符串传递给%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?
答案 0 :(得分:8)
创建NSString后,您可以立即安全地释放char缓冲区。 NSStrings总是复制传递给它们的数据。这保证了它们的不变性。