Создает ли объект NSObject в MainMenu.xib одноэлементный объект? - PullRequest
1 голос
/ 28 сентября 2011

Допустим, у меня есть NSObject AppController: NSObject.Используя IB, я перетаскиваю элемент управления NSObject в MainMenu.xib и указываю класс на AppController.Поскольку MainMenu.xib загружается один раз, а объекты внутри MainMenu.xib находятся в памяти на весь срок службы приложения, делает ли он объект AppController одноэлементным?

Затем я могу перетащить IBOutlet в AppDelegate для доступа к этому синглтону.объект.Это похоже на быстрый способ.Это хорошая практика или не рекомендуется?

Стандартный метод, который я предполагал, это добавить статический AppController * sharedInstance внутри класса и использовать + (AppController *) sharedAppController для доступа.

1 Ответ

1 голос
/ 28 сентября 2011

Нет, это не синглтон, потому что ничто не мешает вам создать в коде другой экземпляр того же класса.

Это просто удобный способ создания одного экземпляра.

и объекты внутри MainMenu.xib находятся в памяти на весь срок службы приложения

Это не правда. Если никто не сохранит эти объекты (или не обратится к ним в GC), они будут освобождены. Это правда. См. Комментарий Питера Хоси ниже.

...