Разделить реализацию UIViewController на несколько исходных файлов

Я новичок в разработке iOS и ищу хороший пример. Может ли кто-нибудь дать мне ссылку?

Моя проблема:

Я сделал проект с несколькими UIViewController, но у меня есть контроллер с множеством методов. Как я могу разделить мой UIViewController на несколько классов?

Наконец, я хочу просто разделить мой UIViewController на несколько файлов, но я хочу, чтобы мой UIViewController работал так, как если бы все методы были в одном файле.

Если кто-то может дать мне хорошую книгу или объяснить мне, как это работает, это было бы здорово.


person Romano401    schedule 31.05.2013    source источник
comment
Пожалуйста, не запрашивайте ссылки, так как StackOverflow не является сайтом ссылок. Представьте, насколько бесполезным станет любой ответ, содержащий только ссылку, когда ссылка станет недействительной - да, интерсеть не вечна .... ;)   -  person Till    schedule 31.05.2013


Ответы (2)


Вы можете использовать категории. Вы создаете отдельный заголовок и файл реализации для каждой категории, где заголовок выглядит примерно так:

@interface MyClass (SomethingMethods)

... // Function declarations

@end

Затем вы реализуете это следующим образом:

@implementation MyClass (SomethingMethods)

... // Implementation

@end

Это позволяет вам разделить класс на отдельные исходные файлы в зависимости от того, что делают методы или что вы хотите. Однако помните, каждая категория должна иметь уникальное имя. Имя на самом деле нигде не используется каким-либо важным образом, но оно должно быть уникальным, иначе вы получите ошибки компиляции.

Обратите внимание, что категории не позволяют объявлять свойства или переменные экземпляра. Вы можете только объявлять и реализовывать методы. Это означает, что вам придется объявить все ваши переменные экземпляра и @property в вашем основном исходном файле и реализации. См. официальную документацию Apple по категориям для получения дополнительной информации.

person Greg    schedule 31.05.2013

Возможно, вы можете прочитать о категориях в документации Apple. Вы можете сделать что-то похожее на то, что вы хотите:

Настройка существующих классов

Но я действительно не знаю, почему вы хотите это сделать. Вы можете организовать свой код, используя метки прагмы.

person Jão    schedule 31.05.2013