Проблемы с загрузкой inputAccessoryView - PullRequest
1 голос
/ 12 марта 2011

У меня есть приложение, которое просто состоит из UITextView. Как только приложение загружается, появляется клавиатура, и в верхней части клавиатуры загружается AccessoryView, чтобы закрыть его.

Это работало великолепно, пока я не решил, что не хочу загружать клавиатуру при загрузке приложения. Проблема в том, что всякий раз, когда я пытаюсь редактировать текст, приложение вылетает (EXC_BAD_ACCESS). Я не очень понимаю, почему это должно быть. Вот мой код - отмечен отрывок, который приводит к сбою приложения:

- (void)viewWillAppear:(BOOL)animated {

// Make the keyboard appear when the application launches.
[super viewWillAppear:animated];
// [textView becomeFirstResponder];} 

А потом:

- (BOOL)textViewShouldBeginEditing:(UITextView *)aTextView {


    // this crashes app if no keyboard is loaded in viewdidload:

        if (textView.inputAccessoryView == nil) {
        textView.inputAccessoryView = accessoryView;    
        self.accessoryView = nil;

}


    return YES;
}

Если я закомментирую последнее утверждение if, приложение работает ... но у меня нет accessoryView. Возможно ли, что я сделал что-то не так в InterfaceBuilder? accessoryView - это отдельное представление в моем ViewController. Тем не менее, он правильно подключен (и он отлично работает, если я запускаю приложение с включенной клавиатурой).

Любые идеи будут очень признательны. Извините, если это очевидно, но я все еще новичок, и эти вещи вызывают огромные головные боли.

1 Ответ

1 голос
/ 12 марта 2011

EXC_BAD_ACCESS ошибки возникают при попытке отправить сообщение объекту, который был освобожден.Убедитесь, что когда вы устанавливаете свои ivars, вы вызываете retain, если используете удобный метод, который возвращает автоматически выпущенный объект.

Если это не работает, вы можете использовать NSZombieEnabled, чтобы отследить, куда вы отправляете сообщение.к освобожденному объекту.

Я нашел пару направляющих, на которые можно взглянуть:

http://www.fromconcentratesoftware.com/2007/08/09/nszombieenabled-for-the-debugger-adverse/

http://collateraldamag3.blogspot.com/2009/11/iphone-tutorial-nszombieenabled-and.html

...