gpt4 book ai didi

ios - NSString *var = @"value"和 NSString *var =[ [NSString alloc] initWithString : @"value"] 有什么区别

转载 作者:行者123 更新时间:2023-12-03 16:52:48 24 4
gpt4 key购买 nike

ios 中初始化字符串变量的两种方式有什么区别(,adv/disadv)?

NSString *var = @"value"NSString *var =[ [NSString alloc] initWithString:@"value"]

最佳答案

代码:

NSString *var = @"value";

创建一个 NSCFConstantString 实例,该实例由编译器创建并作为程序数据的一部分存储。它不响应 retainrelease,并且可以有效地出于内存管理目的而被忽略。

但是代码:

NSString *var =[ [NSString alloc] initWithString:@"value"];

分配一个NSString对象并用常量字符串@"value"的内容初始化它。当不再需要但无法更新(它是不可变的)时,它必须released,因此与第一段代码相比几乎没有提供任何内容。

关于ios - NSString *var = @"value"和 NSString *var =[ [NSString alloc] initWithString : @"value"] 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10496338/

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