#iphone #objective-c #ios
#iPhone #objective-c #iOS
Вопрос:
У меня есть кнопка, которая помещает другой viewcontroller в мой navigationcontroller. Когда я нажимаю кнопку, я получаю EXC_BAD_ACCESS в строке, где я добавляю метку состояния вложенного представления. Когда я удаляю эту строку. Я могу скомпилировать и запустить, я также могу перейти к другому представлению.
- (void)loadView
{
statusLabel = [[[UILabel alloc] initWithFrame:CGRectMake(20.0, 0.0, 150.0, 43.0)] autorelease];
[self.view addSubview:statusLabel];
}
Спасибо
Комментарии:
1. Правильно отладьте свой код при событии click. Возможно, вы не выделили объект.
2. Хотелось бы получить дополнительную информацию о коде.
3. Вы не должны использовать
self.view
для получения представления внутри loadView. Целью loadView является создание основного представления, когда вы не используете перо. Средствоself.view
получения вызывает loadView, когда представление еще не загружено и будет рекурсивным.4. Это не зависит от Xcode. Теги отредактированы.
5. Хм, но я видел много людей, делающих это таким образом: S
Ответ №1:
loadView
метод используется для загрузки пользовательского представления (т. Е. Создания self.view
и добавления всех его подвидов). Если у вас есть представление вашего контроллера в nib, вы должны поместить этот код в viewDidLoad
метод.
Комментарии:
1. Я делаю это без файла nib: O Хочу сделать это программно
Ответ №2:
Очевидно, я на несколько лет опоздал на вечеринку, но сам только что столкнулся с этим.. В моем случае (который выглядит так же, как и в вашем случае) обязательно вызовите super.loadView()