gpt4 book ai didi

iOS:自动发布后发布

转载 作者:行者123 更新时间:2023-11-29 13:42:06 26 4
gpt4 key购买 nike

这不可能是对的……或者也许是对的。我正在查看一个叫做 ShareKit 的东西的源代码,它是由一个名叫 Nathan 的人编写的,我注意到他自动释放了一个 View ,稍后在 dealloc 中,他释放了该 View 。

最佳答案

不确定您为什么认为这是错误的。例如,这是完全有效的代码,它展示了与您所看到的相同的东西:

@interface SomeClass : NSObject

@property (nonatomic, retain) NSNumber *someNumber;

@end

@implementation SomeClass

@synthesize someNumber;

- (id)init {
if ((self = [super init]])) {
self.someNumber = [[[NSNumber alloc] initWithInt:5] autorelease]; // retain count = 1 (alloc) - 1 (on next drain) + 1 (retaining property) = 1
}
}

- (void)dealloc {
[someNumber release]; // retain count = 0
[super dealloc];
}

@end

autorelease 之后发生 release 没有任何问题。

另一段有效的代码(尽管完全没有意义!):

NSNumber *someNumber = [[NSNumber alloc] initWithInt:5]; // retain count = 1
[someNumber retain]; // retain count = 2
[someNumber autorelease]; // retain count = 2 (-1 on next drain) = 1
[someNumber release]; // retain count = 1 (-1 on next drain) = 0

关于iOS:自动发布后发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8804198/

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