Xcode 4:Загрузка наконечника в методе в другом файле
-
13-12-2019 - |
Вопрос
извините, если этот вопрос элементарен, но я застрял на этой ошибке в течение последних 2 дней и не смог с ней справиться.Я использую Xcode 4.3.2
Я пытаюсь загрузить nib с именем AController.xib в методе с именем "- (void) process" в файле с именем BController.m
Чтобы было понятно, я скопировал ./A/AController.xib (который является UIView), ./A/AController.m, ./A/AController.h в каталог ./B
Я упоминаю об этом только потому, что не уверен, имеет ли это значение для моего вопроса.
В настоящее время мой поток работает как потоки (что может быть моей проблемой):
- Просмотр загружается с помощью кнопки "купить"
- пользователь нажимает кнопку "купить", в которой есть IBOutlet с именем "BuyNow".
- "BuyNow" вызывает "buy", который затем вызывает "process".
затем процесс пытается загрузить наконечник следующим образом (вариант 1):
Контролер *бла-бла;for (идентификатор объекта в пакете){ if ([object isKindOfClass:[класс AController]]) blah = (AController *) объект;} assert(бла!= nil && "бла не может быть равным нулю");[self.view добавляет subview:бла-бла-бла];
Ошибка, которую я получаю здесь, - это "Поток 1:сигнализируйте SIGABRT" в main.m Я тоже пробовал (вариант 2),
AController *myView = [[AController alloc] initWithFrame:self.view.bounds];
[self.view addSubview:myView];
[AController release];
И (вариант 3)
AController * vc = [[AController alloc] initWithNibBundle:@"AController" bundle:nil]; [self.nc pushViewController:vc animated:NO];
Я получаю одну и ту же ошибку для всех 3 вариантов.Каждый вариант был опробован в методе "процесс"."процесс" написан в B.m.Кто-нибудь может предложить какую-нибудь помощь, чтобы я мог разобраться в этом?Любые указания относительно того, почему эти варианты не сработали, были бы очень полезны для моего понимания и были бы весьма признательны.Спасибо, что помогли новичку!
Решение
Если AController
это UIView
подкласс, он не может загрузить наконечник.Убедитесь, что это на самом деле контроллер, но из initWithFrame
и то, как вы добавляете его в представление, выглядит так, будто это не так или обрабатывается неправильно.