gpt4 book ai didi

ios - 什么是便利构造函数。我需要保留便利构造函数返回的对象吗

转载 作者:行者123 更新时间:2023-11-29 03:08:51 26 4
gpt4 key购买 nike

什么是便捷构造函数。

如果我像这样使用初始化方法

 NSNumber *zero = [[NSNumber alloc] initWithInteger:0];
[self setCount:zero];
[zero release];

保留或释放零对象是我。但如果我喜欢这样

NSNumber *zero = [NSNumber numberWithInteger:0];
[self setCount:zero];

苹果文件说不需要保留或释放零。

使用 numberWithInteger: 时的详细内存状态是什么?类方法 numberWithInteger: 返回的对象没有保留计数 1 或零对象保留计数 1? numberWithInteger: 返回时,指针零指向的对象的计数似乎已经为 1。如果我调用 setCount:,计数加 1 到 2。似乎有潜在的内存泄漏。

最佳答案

这是方便构造函数的便利,该对象已经在自动释放池中移动,您不需要释放它。

[NSNumber numberWithInteger:0];

实现为:

+ (NSNumber) numberWithInteger:(NSInteger) value
{
return [[[NSNumber alloc] initWithInteger: values] autorelease];
}

您应该使用相同的模式来实现您自己的便利构造函数。

关于ios - 什么是便利构造函数。我需要保留便利构造函数返回的对象吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22448465/

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