gpt4 book ai didi

objective-c - 将文字字符串分配给具有 "="的 NSString 实际上有什么作用?

转载 作者:太空狗 更新时间:2023-10-30 03:30:41 26 4
gpt4 key购买 nike

下面这行到底做了什么?

string = @"Some text";

假设“字符串”在 header 中这样声明:

NSString *string;

这里的“=”实际上是做什么的?它对“string”的引用计数有什么作用?特别是,假设由于某种原因“string”没有被分配,它是否需要被释放?

谢谢!

最佳答案

作业就是这样。 string 指针基本上是一个指向内存中特定地址的标签。重新分配语句会将标签指向内存中的另一个地址!

它不会改变引用计数,也不会做任何超出 Objective-C 的事情。如果您在非垃圾收集环境中运行,您需要自己维护引用计数:

[string release];
string = [@"Some text" retain];

但是,不需要管理字符串文字,因为它们是静态分配的,永远不会被释放!所以 releaseretain 方法只是 NOOP(即没有操作)。您可以安全地忽略它们。

关于objective-c - 将文字字符串分配给具有 "="的 NSString 实际上有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2054335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com