Здравствуйте и благодарите за любую помощь заранее. Я пробовал искать, но кажется, что то, что я пытаюсь сделать, не является обычным явлением. Если есть другой пост, говорящий о моем вопросе, напишите ссылку.Класс передачи ObjectiveC Указатель на статическую библиотеку, а затем методы вызова из класса
Для начала у меня есть два класса. Чтобы имена были простыми, один называется Controller, а другой - AppDelegate. Контроллер представляет собой статическую библиотеку. AppDelegate создает экземпляр контроллера, используя следующее.
* Примечание: Я уже зарегистрировал _controller в файле .h.
_controller = [[Controller alloc] initWithAppDelegate:self];
Что я хотел бы сделать, это методы вызова в классе AppDelegate с контроллера. Соответствующий код в классе controller.h выглядит следующим образом.
@interface
{
id _appDelegate;
}
-(id) initWithAppDelegate:(id)appDelegate;
и controller.m
-(void)someMethodName
{
[_appDelegate method];
}
Проблема, которую я имею, что метод не доступен назвать. Я могу вызвать несколько других методов, но не пользовательские методы, созданные мной в AppDelegate. Я попытался заменить идентификатор AppDelegate, но я не могу импортировать AppDelegate, я несколько понимаю, почему я не могу его импортировать.
Причина, по которой я создаю свой проект таким образом, заключается в том, что я хотел бы повторно использовать код контроллера в приложениях, имеющих пользовательский интерфейс, предназначенный для разных устройств. Если это неясно или вам нужна дополнительная информация, не стесняйтесь спрашивать.
Спасибо.
После того, как у вас есть протокол, измените свойство/переменной экземпляра и инициализации методы: 'идентификатор _appDelegate;', '- (идентификатор) initWithAppDelegate: (идентификатор ) AppDelegate;' –
Wain
Awesome, Я считаю, что это сработает. Я отмечу как ответ, как только у меня будет больше времени для реализации. – n01d3a
@Wain, спасибо за добавление дополнительной информации для ясности. Это решение отлично работало для меня. – n01d3a