Ссылка на переменные экземпляра AppDelegate

Если вы можете использовать CDI и deltaspike ( JSF module ) в своей среде, вы можете добавить следующее к своему LocaleBean, чтобы автоматически сбросить языковой стандарт в текущем виде:

@javax.enterprise.context.SessionScoped
public class LocaleBean implements Serializable {

    ...

    public void resetLocale(@Observes @BeforePhase(JsfPhaseId.RENDER_RESPONSE) PhaseEvent event) {
        event.getFacesContext().getViewRoot().setLocale(this.locale);
    }
}

84
задан Chris Hanson 26 October 2008 в 02:46
поделиться

2 ответа

Для переменных (обычно структура данных модели), который я должен получить доступ к нему где угодно в приложении, объявите их в своем классе AppDelegate. Когда необходимо сослаться на него:

YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
//and then access the variable by appDelegate.variable 
204
ответ дан leonho 5 November 2019 в 16:12
поделиться

Если я понимаю Ваш вопрос, Вы хотите сослаться на членские переменные/свойства в своем объекте AppDelegate? Самый простой путь состоит в том, чтобы использовать [[UIApplication sharedApplication] делегата] для возврата ссылки на объект.

, Если у Вас есть свойство, названное окном, Вы могли бы сделать это:

UIWindow   *mainWindow = [[[UIApplication sharedApplication] delegate] window];
//do something with mainWindow
16
ответ дан Anish Gupta 5 November 2019 в 16:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: