Как mainBundle() возвращает объект в swift или target-c?
Я читаю книгу, связанную с разработкой IOS. И я сталкиваюсь с проблемой, когда я читаю эту строку let bundle = NSBundle.mainBundle()
, Книга рассказала, что
этот вызов возвращает объект пакета, который представляет наше приложение.
Я знаю, в Swift объект создается как let objname = classname()
, Расскажите пожалуйста как let bundle = NSBundle.mainBundle()
создать объект?
2 ответа
Этот вызов не создает (не создает) новый объект. Это вызывает mainBundle
метод класса на NSBundle
класс, который возвращает синглтон, основной пакет вашего приложения.
Подобные звонки (в obj-C, но легко переводимые в Swift):
[UIApplication sharedApplication]
[NSNotificationCenter defautCenter]
Каждый метод, возвращающий объект вообще, может возвращать ссылку на новый объект или ссылку на существующий. Как можно запретить один из этих вариантов? И как можно сказать это, не зная реализации?
Просто примите, что объект возвращается. Период.