Objective c 我们可以使用NSAutoreleasePool查看吗?
我想知道是否有任何方法可以通过视图使用Objective c 我们可以使用NSAutoreleasePool查看吗?,objective-c,xcode,nsautoreleasepool,Objective C,Xcode,Nsautoreleasepool,我想知道是否有任何方法可以通过视图使用NSAutoreleasePool(就像我们在.h文件和dealloc中定义的.m文件的dealloc方法一样)。 可能吗 当然可以。我不确定这在你的情况下是否有意义,因此你必须对此进行分析,但如果你想: 在.h文件中 @interface MyView : UIView { NSAutoReleasePool *pool; } // rest of view 在.m文件中: @implementation MyView - (id) initX
NSAutoreleasePool
(就像我们在.h
文件和dealloc
中定义的.m文件的dealloc方法一样)。可能吗 当然可以。我不确定这在你的情况下是否有意义,因此你必须对此进行分析,但如果你想: 在.h文件中
@interface MyView : UIView
{
NSAutoReleasePool *pool;
}
// rest of view
在.m文件中:
@implementation MyView
- (id) initXYZ // whatever initializer you have...
{
self = [super init...];
if (self)
{
pool = [[NSAutoReleasePool alloc] init];
// rest of initialization
}
return self;
}
- (void) dealloc
{
// rest of dealloc
[pool drain];
[super dealloc];
}
正如我所说,我不确定这是否有意义,除非您在视图中分配了许多小对象。不,这不应该这样做 从苹果的文档中: 自动释放池应始终在创建它的同一上下文(例如方法或函数的调用,或循环体)中排空 下一段呢 自动释放池是“内联”使用的。通常没有理由让自动释放池成为对象的实例变量
你在问什么?你想在你的班上有一个
NSAutoreleasePool
类型的属性/ivar吗?谢谢你的好答案,我试过了,但没有得到好的结果,所以现在我知道为什么它不起作用;)