not*_*ame 8 cocoa reference-counting objective-c variable-assignment string-literals
以下行实际上做了什么?
string = @"Some text";
Run Code Online (Sandbox Code Playgroud)
假设在字段中声明了"string":
NSString *string;
Run Code Online (Sandbox Code Playgroud)
"="实际上在这里做了什么?它对"字符串"的引用计数有什么作用?特别是,假设由于某种原因"字符串"没有另外分配,是否需要释放?
谢谢!
not*_*oop 20
任务就是这样.该string指针基本上是指向特定的地址在内存的标签.重新分配语句会将该标签指向内存中的另一个地址!
它不会更改引用计数或在Objective-C中执行任何操作.如果您在非垃圾收集环境中运行,则需要自己维护引用计数:
[string release];
string = [@"Some text" retain];
Run Code Online (Sandbox Code Playgroud)
但是,不需要管理字符串文字,因为它们是静态分配的,永远不会被释放!所以release和retain方法只是NOOP(即没有操作).你可以安全地省略它们.
| 归档时间: |
|
| 查看次数: |
5127 次 |
| 最近记录: |