//字串是否為空 #define kstringisempty(str) ([str iskindofclass:[nsnull class]] || str == nil || [str length] < 1 ? yes : no ) //陣列是否為空 #define karrayisempty(array) (array == nil || [array iskindofclass:[nsnull class]] || array.count == 0) //字典是否為空 #define kdictisempty(dic) (dic == nil || [dic iskindofclass:[nsnull class]] || dic.allkeys == 0) //是否是空物件 #define kobjectisempty(_object) (_object == nil
|| [_object iskindofclass:[nsnull class]]
|| ([_object respondstoselector:@selector(length)] && [(nsdata *)_object length] == 0)
|| ([_object respondstoselector:@selector(count)] && [(nsarray *)_object count] == 0))
//獲取螢幕寬度與高度 #define kscreenwidth
([[uiscreen mainscreen] respondstoselector:@selector(nativebounds)] ? [uiscreen mainscreen].nativebounds.size.width/[uiscreen mainscreen].nativescale : [uiscreen mainscreen].bounds.size.width) #define kscreenheight
([[uiscreen mainscreen] respondstoselector:@selector(nativebounds)] ? [uiscreen mainscreen].nativebounds.size.height/[uiscreen mainscreen].nativescale : [uiscreen mainscreen].bounds.size.height) #define kscreensize
([[uiscreen mainscreen] respondstoselector:@selector(nativebounds)] ? cgsizemake([uiscreen mainscreen].nativebounds.size.width/[uiscreen mainscreen].nativescale,[uiscreen mainscreen].nativebounds.size.height/[uiscreen mainscreen].nativescale) : [uiscreen mainscreen].bounds.size)
//獲取沙盒document路徑 #define kdocumentpath [nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes) firstobject] //獲取沙盒temp路徑 #define ktemppath nstemporarydirectory() //獲取沙盒cache路徑 #define kcachepath [nssearchpathfordirectoriesindomains(nscachesdirectory, nsuserdomainmask, yes) firstobject]
//判斷是真機還是模擬器 #if target_os_iphone //真機 #endif
#if target_iphone_simulator //模擬器 #endif
//開發的時候列印,但是發布的時候不列印的nslog #ifdef debug #define nslog(...) nslog(@"%s 第%d行 \n %@\n\n",func,line,[nsstring stringwithformat:va_args]) #else #define nslog(...) #endif
//顏色 #define krgbcolor(r, g, b) [uicolor colorwithred:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0] #define krgbacolor(r, g, b, a) [uicolor colorwithred:(r)/255.0 green:(r)/255.0 blue:(r)/255.0 alpha:a] #define krandomcolor krgbcolor(arc4random_uniform(256)/255.0,arc4random_uniform(256)/255.0,arc4random_uniform(256)/255.0)
#define kcolorwithhex(rgbvalue)
[uicolor colorwithred:((float)((rgbvalue & 0xff0000) >> 16)) / 255.0
green:((float)((rgbvalue & 0xff00) >> 8)) / 255.0
blue:((float)(rgbvalue & 0xff)) / 255.0 alpha:1.0]
//弱引用/強引用 #define kweakself(type) __weak typeof(type) weak##type = type; #define kstrongself(type) __strong typeof(type) type = weak##type;
//由角度轉換弧度 #define kdegreestoradian(x) (m_pi * (x) / 180.0) //由弧度轉換角度 #define kradiantodegrees(radian) (radian * 180.0) / (m_pi)
//獲取一段時間間隔 #define kstarttime cfabsolutetime start = cfabsolutetimegetcurrent(); #define kendtime nslog(@"time: %f", cfabsolutetimegetcurrent() - start)
原創文章給我帶來流量和收錄
首先,文章有沒有在適當的地方使用。很簡單,一篇講述 建設技術的文章,你通篇內容講的都是如何對 進行建設的方法和手段。但這樣的文章發表的地方卻在乙個女性 上或放置在乙個美容 的 上,沒有將文章中要www.cppcns.com表達的內容表達出來。或許對於seoer來說,這樣是一種有效的優化方式,筆者不在...
原創文章搜尋收錄少原因分析
常常在些站長論壇看到這樣的求助帖子 為什麼我的站是原創文章搜尋收錄才幾頁啊?這是什麼原因呀?哪位高手幫我分析分析啊!其實造成 收錄少的原因有許多,這裡我只列舉些常見的,希望能幫助解決新手站長的困惑。一。新站審核期。假若因為這點你大可不必擔心,一般新站處在搜尋的審核期間,是需要時間來考量的,如果你 提...
文章偽原創方法(如何偽原創使文章快速收錄)
我相信大家做 seo優化的都知道,現在搜尋引擎對 內頁的文章內容越來越看重,對這一塊的審核也是越來越嚴格,造成對一部分的站長苦不堪言,每天在 更新的文章都不收錄,有的收錄了一段時間後又被刪除。其實這是因為我們站長在做文章時沒有做好文章的偽原創,那麼我們該如何偽原創使文章快速被搜尋引擎收錄呢?內容的整...