2014-10-30 2 views
0

Простой вопрос, связанный с определением Macro:Определение макросов

enter image description here

Как это исправить, Thks ~

+0

#if препроцессор директива, что вы кормите код. Препроцессор не оценивает утверждения, он просто вставляет жетоны. – CodaFi

ответ

0

Вы можете заменить блок со следующими Macro просто включить эту ошибку выкл:

#define MBLabelAlignmentCenter __SYSTEM_VERSION_IT >= 7.0 ? NSTextAlignmentCenter : UITextAlignmentCenter

0

препроцессора условные макросы принимают только во время компиляции константа е Xpressions. Ваша #define часть, которая может быть разрешена во время компиляции. #if работает только в том случае, если условное - это то, что можно определить во время компиляции. Он не может использоваться для изменения поведения во время выполнения на основе среды, в которой работает приложение.

2 способ устранения:

#define MBLabelAlignmentCenter __SYSTEM_VERSION_IT >= 7.0 ? NSTextAlignmentCenter : UITextAlignmentCenter 

Или использовать обычный если еще код:

if(__SYSTEM_VERSION_IT >= 7.0) 
{ 
    MBLabelAlignmentCenter = NSTextAlignmentCenter; 
} 
else{ 
    MBLabelAlignmentCenter = UITextAlignmentCenter; 
} 

Надежда это помогает .. :)

Смежные вопросы