我是否负责在dealloc中发布UIView的gestureRecognizers?

dug*_*gla 6 memory-management uigesturerecognizer ios

我已将UIGestureRecognizer附加到UIView.在dealloc期间释放这个是谁的责任?

特别:

UITapGestureRecognizer *t = 
[[UITapGestureRecognizer alloc] initWithTarget:self.view action:@selector(tapHandler:)];

[self.view addGestureRecognizer:t];
[t release];
Run Code Online (Sandbox Code Playgroud)

因此,self.view目前只保留gestureRecognizer.

更新我应该更清楚.我的问题与视图dealloc方法有关.视图发布时,视图的超类是否处理gestureRecognizer的释放.我现在假设是这样的.

Mos*_*she 2

经验法则是,release无论什么时候打电话,都可以打电话allocnew或者copy

由于您调用了 alloc,因此您的代码不会过度释放或泄漏任何内容。

虽然您可以自动释放手势识别器,但我不会,因为在可能的情况下显式释放对象是更好的内存管理。(自动释放的对象在自动释放池耗尽之前不会被释放。)