前言
我们在写代码的时候往往会使用一些预编译,这样会方便我们功能代码的编写。这是我在工作中所使用的预编译的命令,分享出来给大家。
中心
//定义常量
//导航栏高度
#define kNaivgationBarHeight 44
//屏幕宽高
#define KSCREEN_WIDTH [UIScreen mainScreen].bounds.size.width
#define KSCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height
//内存管理安全释放对象
#define SAFE_RELEASE(x) [x release];x=nil
//判断系统的版本
#define kCurrentSystemVersion [[[UIDevice currentDevice] systemVersion] floatValue]
//判断是否是ios7或者更高的版本
#define IOS_VERSION_7_OR_LATER (([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)? (YES):(NO))
//当前系统的语言
#define kCurrentLanguage [[NSLocale preferredLanguages] objectAtIndex : 0]
//定义更高级的DLog
//#define DEBUG_MODE 1
#ifdef DEBUG
#define YF_Log(s,...) NSLog (@"<%p %@:(%d)> %@",self,[[NSString stringWithUTF8String:__FILE__] lastPathComponent],__LINE__,[NSString stringWithFormat:(s),##__VA_ARGS__])
#else
#define YF_Log(s,...)
#endif
//判断是不是真机
#if TARGET_OS_IPHONE
//操作
#elif TARGET_IPHONE_SIMULATOR
//操作
#endif
说到这我再多说几句,平时我们的调试很多都是用NSLog进行输出查看结果。但是我们不要只会运行简单的输出参数这一点。
NSLog(@"这是哪个方法运行的--%s",__func__);
NSLog(@"这句代码在哪一行--%d",__LINE__);
NSLog(@"这个文件所在的位置--%s",__FILE__);
输出结果:
2016-03-07 13:56:02.993 预编译[4297:235750] 这是哪个方法运行的---[ViewController viewDidLoad]
2016-03-07 13:56:02.993 预编译[4297:235750] 这句代码在哪一行--23
2016-03-07 13:56:02.993 预编译[4297:235750] 这个文件所在的位置--/Users/syf/Desktop/MyText/È¢ÑÁºñËØë/È¢ÑÁºñËØë/ViewController.m
这样你会有更好的输出结果。
如果你想在调试这一方面有个提高,你可以去看看LLDB,在我们的控制台去做各种操作。很适合装xx,但是很实用的呀。