Как 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]

Каждый метод, возвращающий объект вообще, может возвращать ссылку на новый объект или ссылку на существующий. Как можно запретить один из этих вариантов? И как можно сказать это, не зная реализации?

Просто примите, что объект возвращается. Период.

Другие вопросы по тегам