2015-10-11 2 views
-1

Извините, если вопрос задал раньше .. Я посмотрел, не найдя его.Подклассификация ViewController Swift

Я создаю приложение IOS с Swift2. У меня очень длинный основной класс (ViewController: UIViewController).

Я пытаюсь реорганизовать свой код с помощью контроллера подкласса в двух новых классах Customer: Viewcontroller и Server: ViewController.

Моя цель состоит в том, что эти два класса выполняются с добавлением расширенной функциональности для меня viewcontroller, а расширение не полезно для меня, потому что я переопределяю подклассы.

Как это сделать, чтобы выполнять эти классы, когда приложение приветствуется.

Теперь мой код организован так ...

//ViewController handling now almost all my code 
class ViewController: UIViewController,UIImagePickerControllerDelegate,MPCManagerDelegate,UITableViewDelegate,UITableViewDataSource,UINavigationControllerDelegate { 

///some variables 

override func viewDidLoad() { 
    super.viewDidLoad() 
////some other stuff 
} 
///some other functions 
} 



///Server subclass My goal is to print ("subclassing after view controller 's didload function 

class server:ViewController { 



override func viewDidLoad() { 
    super.viewDidLoad() 
    print ("loaded extern class") 
} 
} 

Заранее спасибо

+1

Непонятно, что вы просите. Каков желаемый результат, и что на самом деле происходит или не происходит? [Кроме того, это ваш реальный код? Если это так, измените его. Не начинайте имя класса, 'server', с небольшой буквы.] – matt

+0

Извините, что последний комментарий был ошибкой опрокидывания. Не мой реальный код ... Напишите, что у меня только класс viewcontroller и еще несколько. Я получаю доступ к другим методам класа, помещая что-то = otherclasses(); something.othermethods(). Что я хочу сейчас ... ViewController имеет около 2000 строк. Я хочу разбить его на подклассы (или что-то еще) для лучшего контроля над моим кодом. Напишите сейчас ... только для простоты. Я хочу только распечатать «laded external class» после выполнения моего основного класса viewDidLoad. –

ответ

0

Вы можете создать подкласс других классов в Swift, как следующее:

var subclassedServer = server() 

И доступ любая переменная внутри него просто имеет значение:

subclassedServer.somethingelse = value 

Удачи!

+0

Моя цель состоит в том, чтобы выполнить его, как я делаю это на android ... Запустите подкласс и в подклассе вызовите метод суперкласса как super.method ... on override ... Моя конечная цель - запустить подкласс сначала и вызовите метод суперкласса с super.method, чтобы иметь возможность переопределять эти методы. –

+0

Просто чтобы вы знали, что не все в android можно преобразовать в iOS! Вы подключаете классы к просмотру или просто хотите возбудить код? Что вы пытаетесь сделать точно? Дайте мне ясный пример, и я помогу вам! – AaoIi

+0

Я пытаюсь организовать свой код на отдельные файлы. У меня действительно длинный класс. Я ищу способ разделить его с той же функциональностью. Я думал о подклассе, но принимаю другие решения. –

Смежные вопросы