Я скопировал некоторые файлы из очень маленького (и работающего) проекта в более крупный проект Xcode.
В частности, я скопировал файл xib (только с одним элементом подкласса UIView), подкласс UIView и ViewController.
Меньший проект просто рисует цветной фон и рисует круги, пока пользователь касается экрана.
Я адаптировал код большего проекта так, чтобы в начале он загружал файл xib. Я добавил это в AppDelegate, чтобы он загружал новый XIB вместо старого.
(см. правку № 1 для более подробной информации)
Даже если вызывается drawRect (я тестировал добавление NSLog), ничего не отображается [*]. Более того, если я нажимаю на экран симулируемого iPhone, приложение вылетает.
int retVal = UIApplicationMain(argc, argv, nil, nil);
Program received signal EXC_BAD_ACCESS
Я не уверен, в чем проблема, поэтому, пожалуйста, дайте мне, что я могу опубликовать.
У меня Xcode 4 и я работаю с iOS 5.
Спасибо за вашу помощь. Надеюсь, этот вопрос не слишком наивен.
РЕДАКТИРОВАТЬ # 1 :
Это мой хиб со списком классов. Я пытаюсь отредактировать исходный код для клиента Jabber, который я нашел здесь , вставляя свои собственные представления.
Я не могу опубликовать изображение, но это ссылка
http://i.stack.imgur.com/gDsNb.png
Класс CircleDrawer обрабатывает штрихи и рисует круги.
Класс MTViewController отправляет тестовое сообщение.
Класс JabberClientAppDelegate (практически не отличается от загруженного кода) подключается к серверу и аутентифицирует пользователя. Что я изменил, так это метод:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[MTViewController alloc] initWithNibName:@"MTViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
/*
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;*/
}
РЕДАКТИРОВАТЬ # 2:
Я начинаю с нуля.
Я пытаюсь восстановить приложение, но получаю сбой. Я начал еще одно обсуждение, поскольку оно не имеет прямого отношения к этой проблеме.
EXC_BAD_ACCESS сразу после прикосновения Начало
[*]: если я на мгновение имитирую нажатие кнопки «Домой», я вижу цвет фона (тогда, конечно, я больше ничего не вижу, потому что симулятор возвращается на трамплин).