Я хочу реализовать вспомогательный класс для некоторых постоянных значений, а также часто используемых кодовых блоков. Между нижними уровнями использования, какой из них правильный?Правильный способ доступа к обычно используемым кодовым блокам из одного класса в Swift
- Определение их как статические Пусть ЗНАЧЕНИЯ
Определение их как функции класса
class Constants { // 1: defining them as static let values static let storyboardA = UIStoryboard(name: "StoryboardA", bundle: nil) static let storyboardB = UIStoryboard(name: "StoryboardB", bundle: nil) static let rootVC = UIApplication.sharedApplication().delegate?.window!!.rootViewController // 2: OR defining them as class functions class func getStoryboardA() -> UIStoryboard { return UIStoryboard(name: "storyboardA", bundle: nil) } class func getStoryboardB() -> UIStoryboard { return UIStoryboard(name: "StoryboardB", bundle: nil) } class func getRootVC() -> UIViewController? { return UIApplication.sharedApplication().delegate?.window!!.rootViewController } }
>> «Создание экземпляра нового экземпляра по сравнению с тем же снова и снова». Не могли бы Вы уточнить? Насколько я знаю, 'static let' будет создаваться только один раз –
@AnilVarghese Да, и заданные методы класса будут, напротив, возвращать новые объекты. – Eiko
О, вы имеете в виду, что вы бы использовали методы таким образом, чтобы они возвращали частные статические переменные. более похоже на сочетание обоих подходов OP. Может быть, вы можете показать пример кода, будет более полезным –