feb02
2012
ios高階篇
閱讀:658
views
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); }
?
1
2
3
4
5
//改行
#define reloadbarbutton [[[uibarbuttonitem alloc] initwithimage:reloadbarbuttonicon \
style:uibarbuttonitemstyleplain \
target:self \
action:@selector(contentsreload:)] autorelease]
iOS開發中使用巨集定義提高開發效率
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 發布狀態,關...