iOS開發中使用巨集定義提高開發效率

2021-06-12 16:04:46 字數 1926 閱讀 5580

ios開發中,巧妙的使用巨集定義,可以提高開發效率,本篇簡單介紹一下巨集的定義,設定,應用,並在未來實踐中不斷追加一些常用的巨集定義。

iphone應用程式開發除錯的時候,在**中加入nslog的暴力除錯方法是很頻繁的,但是在release的時候要刪除這些除錯**,那工作量是煩躁,這樣的情況下,試用巨集就會顯得非常的方便。 看下面的例子:

#ifdef debug

#define log(...) nslog(__va_args__);

#define log_method nslog(@"%s", __func__);

#else

#define log(...);

#define log_method;

#endif

像上面例子這些巨集,projectname_prefix.pch中追加之後,不用import就能直接在工程的檔案中直接試用了。

1.開啟工程設定

2.「targets」下選擇設定對應工程「build setting」

3.「*** – preprocessing」選項下的「preprocessor macros」專案的「debug」中追加對應的引數

log(@"data:%@",str);

log_method

大家可以根據專案的需要新增各種log處理的形式,這樣就方便許多了。

#ifdef debug

#define dnslogpoint(p) nslog(@"%f,%f", p.x, p.y);

#define dnslogsize(p) nslog(@"%f,%f", p.width, p.height);

#define dnslogrect(p) nslog(@"%f,%f,%f,%f", p.origin.x, p.origin.y, p.size.width, p.size.height,);

#else

#define dnslogpoint(p);

#define dnslogsize(p);

#define dnslogrect(p);

除了debug,有時候有很多的配置用巨集的話,寫**也沒有那麼煩躁,比如說google analytics的設定

#define ga_trackpage(page)  log(@"ga /%@", page); };

#define ga_trackevent(event,action,label,value) log(@"ga %@/%@/%@", event, action, label); };

#define ga_track_class ga_trackpage(nsstringfromclass([self class]));

#define ga_track_method ga_trackevent(nsstringfromclass([self class]),nsstringfromselector(_cmd), @」」, -1); }

?

12

3

4

5

//改行

#define reloadbarbutton [[[uibarbuttonitem alloc] initwithimage:reloadbarbuttonicon \

style:uibarbuttonitemstyleplain \

target:self \

action:@selector(contentsreload:)] autorelease]

iOS開發中使用巨集定義提高開發效率

feb02 2012 ios高階篇 閱讀 658 views ios開發中,巧妙的使用巨集定義,可以提高開發效率,本篇簡單介紹一下巨集的定義,設定,應用,並在未來實踐中不斷追加一些常用的巨集定義。iphone應用程式開發除錯的時候,在 中加入nslog的暴力除錯方法是很頻繁的,但是在release的...

iOS開發中使用巨集定義提高開發效率

ios開發中,巧妙的使用巨集定義,可以提高開發效率,本篇簡單介紹一下巨集的定義,設定,應用,並在未來實踐中不斷追加一些常用的巨集定義。iphone應用程式開發除錯的時候,在 中加入nslog的暴力除錯方法是很頻繁的,但是在release的時候要刪除這些除錯 那工作量是煩躁,這樣的情況下,試用巨集就會...

iOS開發中的常用巨集定義

在ios開發的過程中合理的使用巨集定義能夠極大提高編碼的速度,下面是一些常用的巨集定義,部分內容來自網際網路 除錯狀態,開啟log功能 ifdef debug define gllog nslog va args define gllogmethod nslog s func else 發布狀態,關...