iOS 预编译命令小记

前言

我们在写代码的时候往往会使用一些预编译,这样会方便我们功能代码的编写。这是我在工作中所使用的预编译的命令,分享出来给大家。

中心

//定义常量

//导航栏高度

#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,但是很实用的呀。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容