2014-08-26 4 views
0

В настоящее время я пишу универсальное приложение и хотел бы установить определенные параметры, такие как стандартный размер кнопки, глобально, в зависимости от устройства. В настоящее время я использую:Настройка глобальных переменных экземпляра устройства

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    iVar = 88; 
} 
else { 
    iVar = 44; 
} 

в различных местах. Тем не менее, я хотел бы запустить это только один раз и установить ivar где-то глобально. Я знаю, что могу это сделать в делегате приложения, как только приложение будет инициализировано, и объявит переменную в заголовке, но мне интересно, есть ли более элегантное решение, стандартная практика.

(Я знаю, что я мог бы использовать собственный размер изображения с помощью xcassets, но я бы хотел большего контроля, чем это).

ответ

0

Создайте класс Global.h и объявите в нем все глобальные переменные. Оставьте только заголовочный файл и импортировать файл Global.h в YourProject-Prefix.pch так:

#ifdef __OBJC__ 
    #import <UIKit/UIKit.h> 
    #import <Foundation/Foundation.h> 
    #import "Global.h" 
#endif 

Для того, чтобы определить ваши глобальные переменные, просто открыть глобальный файл и поместите следующую строку кода, то есть:

#define __metricsTableRowHeight 45 
#define __metricsTableSectionHeight 45 
#define __metricsTableSectionButtonHeight 57 
+0

и как эти устройства специфичны (т.е. оцениваются во время выполнения)? –

+0

Как говорит Маттиас, iVar, о котором идет речь, должен быть инициализирован 1 из 2 разных значений, в зависимости от устройства ... Поэтому где-то мне нужно выполнить код в моем вопросе. – Smikey