gpt4 book ai didi

Objective-C:从 alloc/init 和类方法调用创建对象有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-30 20:06:21 25 4
gpt4 key购买 nike

例如,

  1. NSString *string = [NSString stringWithString:@"a string"];
  2. NSString *string = [[NSString alloc] initWithString:@"a string"];

虽然我们在谈论字符串,但设置字符串有什么不同吗:

    NSString *string = @"a string";

?

最后一点,这不是关于 NSString 的特定问题。我问的是所有 NSObject 的更广泛范围。

最佳答案

ARC 中没有区别,但在它之前有区别:alloc/init 返回一个引用计数至少为一个的项目,您需要release 当你不需要它时,类方法返回一个自动释放的项目,如果你想保留它,你需要 retain 。 ARC 编译器知道所有这些,并根据您的所有权规范负责为您保留/释放。

关于Objective-C:从 alloc/init 和类方法调用创建对象有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11566318/

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