2015-07-28 3 views
3

Как новичок на iOS dev с быстрым я хочу спросить, где я должен поставить код в виде контроллеров. Если это имеет значение.Swift где разместить код в viewcontrolles

Под этим я имею в виду, должны ли пользовательские функции() и переменные поступать перед стандартным, например, переопределять функции()?

Кроме того,

Могу ли я удалить:

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
} 

Из файлов, которые я не использую его на всех?

+0

Вы можете. Если вы не хотите отслеживать предупреждения о памяти в своем приложении. – Anton

+0

То же, что Objective-C: если вам нужно переопределить существующие методы, сделайте это. Если вы хотите добавить свои собственные методы, вы тоже можете это сделать. – Caleb

+0

Порядок переменных и функций полностью зависит от вас, если он находится внутри класса или структуры. Нет правил для размещения. – keithbhunter

ответ

2

Если вы хотите добавить метод, который должен override как viewWillAppear, чем это так просто, как

override func viewWillAppear(animated: Bool) { 

} 

Если вы хотите просто нормальную функцию, может быть, с параметром, вы можете сделать это следующим образом

func myNewFunction(name: String) {} 

Это дает мне новую функцию, которая принимает строку. Он может отображаться в верхней области справа рядом с viewDidLoad, вашими и т. Д.

Мои переменные идут вверху. Я положил их вот так

// MARK: - Outlets 
[my Outlets from Storyboard] 

// MARK: - Class Properties 
[my constants] 

[my variables] 

// MARK: - Initializers 
required init(coder aDecoder: NSCoder { 
    super.init(coder: aDecoder) 
} 

// MARK: - View Handlers 
[viewDidLoad and didRecieveMemoryWarning, etc...] 

// MARK: - Utility Methods 

[all my functions] 

[[end of class]] 

Что касается вашего didRecieveMemoryWarning вы можете удалить его, но я рекомендую вам держать в контроллере представления в случае, если вы хотите, чтобы управлять памятью.

+0

Спасибо, и есть ли проблемы с слишком большим количеством кода в VC? Помимо читаемости –

+0

Я бы сказал, если это относится к контроллеру вида, это нормально; нет ограничения по размеру :) – Cole

0

Да, вы можете удалить didReceiveMemoryWarning

код, который вы хотите запустить, когда вы начинаете ViewController должны быть помещены в

override public func viewDidLoad() 
{ 
    super.viewDidLoad() 
    // your code here.... 
} 

Это хорошая практика, чтобы поместить переменные экземпляра в верхней части вас класса.

0

Я научился ставить переменные экземпляра на всем протяжении, но также видел переменные, существовавшие ниже функций. Я также сгруппировал override в своем кластере и сгруппировал свои пользовательские функции в другом. Расширения - это хороший способ группировать набор функций.

Да, вы можете удалить didReceiveMemoryWarning, так как супер реализация всегда будет существовать.

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