UIButton прослушивает получение [SecondPage performSelector: withObject: withObject:]: сообщение отправлено на освобожденный экземпляр

При использовании Xcode 5 и подсчета автозаполнения.

В приложении на основе Non NavigationController я беру UIButton, а IBAction и IBOutlet правильно определены и подключены. Но перед тем, как событие IBAction для TouchUpInside, вызванное кнопкой, нажало приложение, "[SecondPage performSelector: withObject: withObject:]: сообщение отправлено на освобожденный экземпляр 0x6cb7970". SecondPage - это view-controller, на котором существует этот UIButton.

В принципе, я хочу открыть новый вид view-controller на этом UIButton, и я сделаю это с помощью Custom Segue

Ответ 1

Хм, странно, похоже, что ARC выполняет автореализацию вашего контроллера secondView до того, как вы выберете селектор.

Попробуйте определить secondView как свойство первого (если вы добавляете его как подвью) с типом свойства strong.

Это все, что я могу порекомендовать, не видя ваш код.

Ответ 2

Я получал такую ​​же проблему и решил, что предложил Мэтт Рис.

Просто запустите свой второй контрольный контроллер в firstViewController.h и разместите его там. Подобно,   secondViewController * secondView;

Ответ 3

У меня возникала такая же проблема и решалась с ошибкой.

С более подробной информацией я перераспределял объект-вызывающий объект (в этом случае SecondPage) на logout/login, но повторно использовал некоторые другие контроллеры view, поэтому повторно используемый viewcontroller имел предыдущий экземпляр объекта вызывающего объекта, который я перераспределил.

Хорошо, решил сейчас!