iOS swift 常量 && 宏定义

全局常量

在C和Objective-C语言源文件中定义的全局常量会自动地被Swift编译引进并做为Swift的全局常量。

预处理指令

Swift编译器不包含预处理器。取而代之的是,它充分利用了编译时属性,生成配置,和语言特性来完成相同的功能。因此,Swift没有引进预处理指令。

简单宏

在 C和Objective-C中,通常使用#define指令来定义一个简单的常数,在Swift,您可以使用全局常量来代替。例如:定义一个常数 的#define FADE_ANIMATION_DURATION 0.35,在Swift使用let FADE_ANIMATION_DURATION = 0.35来表述会更好一些。由于简单的用于定义常量的宏会被直接被映射成Swift全局量,Swift编译器会自动引进在C或Objective-C源文 件中定义的简单宏。

复杂宏

在 C和Objective-C中使用的复杂宏在Swift中没有相对应的东西。复杂宏是那些不用来定义常量的宏,包含了括号的函数式宏。您在C和 Objective-C使用复杂的宏以避免类型检查的限制或避免重新键入大量的样板代码。然而,宏也会造成debug和重构起来更困难。在Swift中你 可以使用函数和泛型来达到同样的效果,而没有任何的委屈折中。因此,在C和Objective-C源文件中定义的复杂宏在Swift是不能使用的。

使用举例:

//
//  GlobalConst .swift
//  LiqunSwiftDemo
//
//  Created by HF on 15/11/3.
//  Copyright © 2015年 HF-zhjh. All rights reserved.
//

import Foundation

import UIKit

let WEBAPIBASEURL = "http://baidu.com"   //简单宏 作为 全局的常量 

let COLOR_THEME_GREEN:UIColor = getColor(1) //复杂宏 以函数 体现 这里举例太弱  以后待补充 还有泛型的知识

func getColor(myColor:Int) -> UIColor{
    return UIColor(colorLiteralRed: 0.08, green: 0.64, blue: 0.0, alpha: 1)
}
/////////////////////

在使用的地方 直接调用
即可


				
时间: 2024-11-06 21:18:28

iOS swift 常量 && 宏定义的相关文章

iOS技巧,宏定义

1.NSlog  发布后不打印 #ifdef DEBUG// 如果有DEBUG这个宏就编译下面一句代码 #define DDLog(...) NSLog(__VA_ARGS__) #else // 如果没有DEBUG这个宏就编译下面一句代码 #define DDLog(...) #endif 2.三方库及其他整理 1.?AFNetworking   HTTP 网络请求库   2.?SDWebImage 图片缓存 3.?MBProgressHUD 加载中展示 4.MMDrawerControlle

iOS开发笔记--宏定义的黑魔法 - 宏菜鸟起飞手册

宏定义在C系开发中可以说占有举足轻重的作用.底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行.而在更高层级进行开发时,我们会将更多的重心放在业务逻辑上,似乎对宏的使用和依赖并不多.但是使用宏定义的好处是不言自明的,在节省工作量的同时,代码可读性大大增加.如果想成为一个能写出漂亮优雅代码的开发者,宏定义绝对是必不可少的技能(虽然宏本身可能并不漂亮优雅XD).但是因为宏定义对于很多人来说,并不像业务逻辑那样是每天会接触的东西.即使是能偶尔使

iOS 常用的宏定义

============================================= --2015/12/9 -[ 更新 ] 1.判断是否为真机 or 模拟器[注:记得先判断是否为模拟器咯,否则会失败的哦] #if TARGET_IPHONE_SIMULATOR//模拟器 #define IS_IPHONE 0 #elif TARGET_OS_IPHONE//真机 #define IS_IPHONE 1 #endif 2.屏幕宽高 #pragma mark - 自定义宏 //考虑转屏的影响

ios中使用宏定义进行调试

第一种,在控制台上输出日志信息: #ifdef DEBUG #define DLog(format,...) NSLog((@"DLog %s - [Line %d] %s\n\n" format), __PRETTY_FUNCTION__,__LINE__, __FUNCTION__,##__VA_ARGS__) #else #define DLog(format,...) do {} while(0) #endif 让NSLog只在debug build的时候起作用.将这个功能添加

iOS 多快好省的宏定义

http://my.oschina.net/yongbin45/blog/150149 // 字符串:#ifndef nilToEmpty#define nilToEmpty(object) (object!=nil)?object:@""#endif #ifndef formatStringOfObject#define formatStringOfObject(object) [NSString stringWithFormat:@"%@", object]#e

iOS开发常用宏定义

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #008400 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #78492a } span.s1 { } span.s2 { font: 14.0px "PingFang SC" } // 加载本地xib #define kMainBundleLoadXib(xi

iOS单例 宏定义

#define singleton_interface(className) + (className *)shared##className; // @implementation #define singleton_implementation(className) static className *_instance; + (id)allocWithZone:(NSZone *)zone { static dispatch_once_t onceToken; dispatch_once(

iOS常用define宏定义

1. 屏幕宽高及常用尺寸 #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height) #define NavigationBar_HEIGHT 44.0f#define TabBar_HEIGHT 49.0f#define StatusBar_HEIGHT 20.0f#define ToolsBar_HE

ios 随机色 宏定义

#define RGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1] #define RGBAColor(r, g, b ,a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:a] #define RandColor RGBColor(arc4random_uniform(255)