Может быть, вы можете создать класс с именем PreferencesController
, заставить этот класс загружать перо по запросу, сохранить окно в ivar. Каждый раз, когда вы создаете экземпляр класса и активируете его, проверяйте, является ли окно ivar нулевым. Если это так, загрузите перо, в противном случае просто сделайте ключ окна и закажите передний план.
Помимо сохранения окна, вы также можете отслеживать, когда пользователь закрывает его. Когда он или она это сделает, вы можете выпустить свой ивар и довести его до нуля. Теперь, когда вы запросите его снова, вы увидите, что у вас нет кэшированного окна, и вам придется перезагрузить перо. Это сохраняет память, хотя.
Также можно посоветовать сделать общий экземпляр класса. Я не могу включить образец, потому что я нахожусь на моем iPod touch, но быстрый поиск Google должен быть действительно полезным.
Надеюсь, это поможет,
ief2
РЕДАКТИРОВАТЬ: ссылка ниже содержит пример о синглетонах:
http://eschatologist.net/blog/?p=178