добавить класс View Control (xib) в оконный проект

#iphone #ios

#iPhone #iOS

Вопрос:

Я начинающий программист… у меня следующая проблема..

Завершение работы приложения из-за неперехваченного исключения ‘NSInternalInconsistencyException’, причина: ‘-[UIViewController _loadViewFromNibNamed:bundle:] загрузил перо «MapView», но выход для просмотра не был установлен.’

Я делаю следующее

1) создайте приложение на основе окон и назовите проект MapApp.

2) Добавьте фреймворк MapKit в проект. (Управление Щелкните папку Frameworks -> Добавить -> Существующие фреймворки)

3) Создайте новый класс view controller и назовите его MapViewController. (не создавать его xib)

 #import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>

@interface MapViewController : UIViewController<MKMapViewDelegate> {
    IBOutlet UITextField *addressField;
    IBOutlet UIButton *goButton;
    IBOutlet MKMapView *mapView;
}

@end
  

4) создайте файл xib с именем MapView.xib. Установите его тип в MapViewController….

 File's Owner--------->MapViewController... i already set... 
  

в моем файле AppDelegate.m

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

// Override point for customization after application launch.


mapViewController = [[MapViewController alloc] initWithNibName:@"MapView" bundle:nil];

[window addSubview:mapViewController.view];

[self.window makeKeyAndVisible];

    return YES;
}
  

но когда я создаю….

 the following exception occured......
  

Завершение работы приложения из-за неперехваченного исключения ‘NSInternalInconsistencyException’, причина: ‘-[UIViewController _loadViewFromNibNamed:bundle:] загрузил перо «MapView», но выход для просмотра не был установлен.’

спасибо за помощь…..

Ответ №1:

Убедитесь, что для владельца файла в файле MapView установлено значение class MapViewController . Затем подключите выход view от владельца файла к основному виду этого кончика.

Ответ №2:

Вы забыли установить выход View в buidler интерфейса для свойства view. Убедитесь, что у filesowner (который в вашем случае является MapViewController) для свойства view установлено значение view, отображаемое в IB.