2013-08-05 7 views
-2

Я знаю, что это абсолютно дубликат, но ничего не сработало для меня. Теперь это очень простая задача, но я просто не могу понять это. Все, что я пытаюсь сделать, это открыть новый вид нажатия кнопки. Когда я нажимаю на кнопку он выходит из строяOpen New View iOS App

ViewController.m

- (IBAction)buttonTapped:(id)sender { 
    UIViewController *WebViewController = [[UIViewController alloc]initWithNibName:@"WebViewController" bundle:nil]; 

    [self presentViewController:WebViewController animated:YES completion: nil]; 
} 

Ошибка

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x9829be0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key webView.' 
+0

Ваш контроллер (ViewController) должен быть встроен в контроллер навигации. – rdelmar

+0

@rdelmar: Как бы это сделать, не найти хороших ресурсов. – user1658819

+0

-1 («этот вопрос не показывает никаких исследований») за «не может найти никаких хороших ресурсов»; Интернет * полностью * хороших ресурсов, а также ваш местный или онлайн-магазин. Также для «сбоев» без предоставления журнала сбоев или сообщения об ошибке. – Caleb

ответ

2

Вы не дали нам много времени, но у вас есть обоснованное предположение, что вы указали некоторый подкласс UIViewController как класс прокси-сервера владельца файла в вашем .xib-файле, и вы подключили один или больше объектов в .xib для торговых точек в Владелец файла. Однако в вашем коде вы создаете UIViewController, а не ваш подкласс. UIViewController не имеет того же набора выходов, что и ваш подкласс, поэтому, когда механизм загрузки .xib пытается связать объекты с .xib с вашим контроллером представления, он выдает исключение, потому что UIViewController не соответствует KVC для ключа (тот же имя как один из ваших торговых точек) или отсутствует селектор.

Хорошим местом для начала является просмотр в консоли в Xcode при запуске программы. Вы должны увидеть сообщение об ошибке, если ваше приложение выйдет из строя.

Вы должны также указать add a breakpoint for All Exceptions в Навигаторе точек прерывания Xcode, чтобы вы отключались при вызове исключения.

Вы можете получить аварийные журналы с устройства в Xcode Organizer window, и они, как правило, дают вам трассировку стека и довольно хорошую информацию о том, почему ваше приложение разбилось.

0

Ваш buttonTapped метод фактически подключен к кнопке вы хотите нажать на?

self.navigationControllernil, или нет?

Вышеуказанные две возможности. Вы можете использовать что-то вроде NSLog(), чтобы ответить на оба этих вопроса.

+0

Метод buttonTapped подключен, подтвержден NSLog(). Вход в систему self.navigationController не выводит. – user1658819