gpt4 book ai didi

iphone - 自动释放对象两次

转载 作者:行者123 更新时间:2023-12-03 18:38:03 26 4
gpt4 key购买 nike

NSString *str = [[[[NSString alloc]init]autorelease]autorelease];
str = @"hii";
NSLog(@"%@",str);

谁能帮我讲一下这段代码。自动释放对象两次将会发生什么。当我运行代码时,我没有得到任何僵尸。为什么会这样。

最佳答案

当自动释放池被销毁时,对象会被释放两次,这可能是在运行循环迭代结束时。为什么它不会崩溃是, NSString 在某些实例中返回单例,例如您创建的空字符串或字符串文字(您不应该依赖它,那就是当前发生的情况!),这些对象不会被释放,这就是为什么你不会得到僵尸。

关于iphone - 自动释放对象两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291801/

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