ios - 如何防止 UIGestureRecognizer 崩溃?

标签 ios automatic-ref-counting uigesturerecognizer

我在使用 UIGestureRecognizers 时遇到了一个非常令人沮丧的问题。它们添加得很好,但每当触发时,它就会崩溃并显示消息 EXC_BAD_ACCESS (code=1, address=0xf0000008)。我使用以下代码将其添加到 View Controller 中:

- (void)handleDrag:(UIGestureRecognizer *)sender {
    NSLog(@"%@", sender);
}

- (void)viewDidLoad {
    [super viewDidLoad];

    UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handleDrag:)];
    [self.windowBar addGestureRecognizer:panGesture];
}

self.windowBar 是一个 UIImageView。我已经在所述 UIImageView 上启用了用户交互。但每当我开始实际拖动它时,它就会崩溃。

我不确定这是否与此有关,但我正在使用新的 ARC 功能。

我还缺少什么? :(

最佳答案

尝试使用 Zombies Instrument 运行来准确检测正在引用哪个僵尸(已释放)对象。它将向您指出系统认为应该向其发送消息但已被释放的确切对象(保留计数设置为 0,并且内存已重新分配)。

关于ios - 如何防止 UIGestureRecognizer 崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10610377/

相关文章:

iOS 内存警告发送到释放的 UIViewController

ios - 丢失的手势 iPad 横向

ios - AVQueuePlayer-在缓冲项目时保持事件状态

ios - UITableView可以上下拖动,不允许Swipe Gesture?

ios - 在 Swift 中使用未解析的标识符 "class"

objective-c - ARC - 分配到一个强大的属性中。造成泄漏?

ios - CloudKit fetchRecordChangesOperation 给出了 "AppDefaultZone does not support sync semantics"

iphone - 在哪些情况下我们不能简单地依赖自动引用计数?

xamarin.ios - UIRotationGesture 之后重置 View

ios - 单击 UIImageView SWIFT 不工作