2015-11-17 1 views
3

Я искал много по Интернету, чтобы найти правильное решение для конвертирования моего постоянного файла .h в swift. Я уже пробовал эти ссылкиКак определить константу в swift?

  1. how to use a objective-c define from swift
  2. Globalconstants file in swift

Они оба использовать полный, но не полностью решить мою проблему.

Я просто хочу преобразовать эти три #define в swift, все остальные могут быть преобразованы так же, как это будет сделано.

  1. #define IS_IPHONE_4S [[UIScreen mainScreen] bounds].size.height == 480
  2. #define IOS7VERSION ([[[UIDevice currentDevice] systemVersion] floatValue]>=7.0?YES:NO)
  3. #define RGBCOLOR(r, g, b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1]
+5

Они не являются постоянными, это макросы. Просто замените их функциями. –

+0

константа определяется с помощью ключевого слова 'let' в swift, но в соответствии с приведенным выше кодом, если вы хотите, как определить макросы в swift, тогда http://stackoverflow.com/a/24116621/3400991 поможет. Спасибо –

+2

Первый из них полностью сломан. Поверните телефон в сторону, и вдруг это уже не iPhone 4. – gnasher729

ответ

3

Вы можете использовать ключевое слово let для этого. Например:

let IsIPhone4S = UIScreen.mainScreen().bounds.height == 480 
let IOS7Version = Float(UIDevice.currentDevice().systemVersion) >= 7 

И в последнем случае следует использовать функцию:

func RGBColor(red: CGFloat, green: CGFloat, blue: CGFloat) -> UIColor { 
    return UIColor(red: red/255, green: green/255, blue: blue/255, alpha: 1) 
} 
+0

Спасибо, что вы решили проблему –

+0

@VarunNaharia, так почему бы вам не одобрить ответ? –

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

  • Нет связанных вопросов^_^