0

時獲取EXC_BAD_ACCESS剛剛將xCode升級到4.5。 iOS 5仍然是我的部署目標,但Base SDK現在是6.0。嘗試調用[UITableView panGestureRecognizer]

應用程序現在崩潰的地方以前它沒有。該項目使用ARC。

有問題的行是在UITableView上的一個屬性調用...詢問panGestureRecognizer(下面的第3行)。

-(void)viewWillAppear:(BOOL)animated { 
     [super viewWillAppear:animated];  
     UIPanGestureRecognizer* pgr = [imageTableView panGestureRecognizer]; 
     [pgr setMinimumNumberOfTouches:2]; 
     [pgr setMaximumNumberOfTouches:2]; 
} 

產生以下錯誤消息:

- [UIScrollViewPanGestureRecognizer挽留]:消息發送到釋放實例0x1ea38f70

這怎麼可能?殭屍分析說,gestureRecognizer已經發布了?!

回答

0

原來這是一個ARC問題......對於那些感興趣的人來說,有兩種不同的解決方案。

@autoreleasepool { 
    UIPanGestureRecognizer* pgr = [imageTableView panGestureRecognizer]; 
    [pgr setMinimumNumberOfTouches:2]; 
    [pgr setMaximumNumberOfTouches:2];  
} 

或者

[imageTableView.panGestureRecognizer setMinimumNumberOfTouches:2]; 
[imageTableView.panGestureRecognizer setMaximumNumberOfTouches:2]; 

課瞭解到,如果它可以是不可能的....嘗試ARC的罪魁禍首。

相關問題