在一個項目中,我對某些代碼使用了Three20(不使用TTNavigator
或某些高級功能,只有幾件事情)。使用UIActionSheet和Three時出現錯誤
當我嘗試創建UIActionSheet
時,出現EXC_BAD_ACCESS
錯誤。觸發其計算方法如下(在UIViewController
)
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Is Anyone Injured?"
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
[actionSheet addButtonWithTitle:@"Cancel"];
[actionSheet showInView:self.view];
}
當我運行此代碼的代碼,我得到一個EXC_BAD_ACCESS
錯誤,堆棧點的方法稱爲- (CGRect)frameWithKeyboardSubtracted:(CGFloat)plusHeight
Three20的UIViewAdditions.m
內。
我註釋掉了這個方法,然後得到了一個EXC_BAD_INSTRUCTION
來代替,但是這次在- (NSDictionary *)userInfoForKeyboardNotification
的方法中。再說一次,現在又失敗了另一種方法UIViewAdditions.m
。
有沒有人遇到過這個問題?我試過用NSZombieEnabled
進行調試,但這不是原因(沒有消息發送給殭屍對象)。