真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios開發(fā)宏定義,ios是宏內(nèi)核嗎

iOS開發(fā)之條件編譯

#if? (條件語(yǔ)句)

創(chuàng)新互聯(lián)長(zhǎng)期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為甘井子企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站制作,甘井子網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

條件符合執(zhí)行的語(yǔ)句

#elif (條件語(yǔ)句)

條件符合執(zhí)行的語(yǔ)句

#else

所有條件不符合時(shí),執(zhí)行的語(yǔ)句

#endif

在條件編譯中,只編譯條件滿足時(shí),之后的語(yǔ)句,其余語(yǔ)句不編譯。(這里指#if和#endif之間的語(yǔ)句)

條件語(yǔ)句一般使用宏定義

例1:在iOS10及iOS10以上運(yùn)行

#if __IPHONE_OS_VERSION_MAX_ALLOWED = __IPHONE_10_0

#endif

例2:在宏定義DEBUG時(shí)執(zhí)行執(zhí)行,沒有則不執(zhí)行

#define DEBUG

#ifdef DEBUG

條件符合執(zhí)行的語(yǔ)

#endif

iOS 宏定義方法

系統(tǒng)宏匯集

__FILE__

當(dāng)前文件所在目錄

__DATE__

“替代文字”是一個(gè)含有編譯日期的字符串字面值,日期格式為“mm dd yyyy”(例如:“Mar 19 2006”)。如果日期小于10日,就在日的前面放一個(gè)空格符。NSLog(@"_DATE_=%s",__DATE__);

__FUNCTION__

當(dāng)前函數(shù)名稱

__LINE__

當(dāng)前語(yǔ)句在源文件中的行數(shù)

__TIME__

此字符串字面值包含編譯時(shí)間,格式為“hh:mm:ss”(范例:“08:00:59”)。

__STDC__

整數(shù)常量1,表示此編譯器遵循ISOC標(biāo)準(zhǔn)。

__STDC_VERSION__

如何實(shí)現(xiàn)復(fù)合C89整部1,則這個(gè)宏的值為19940SL;如果實(shí)現(xiàn)符合C99,則這個(gè)宏的值為199901L;否則數(shù)值是未定義

__STDC_EOBTED__

(C99)實(shí)現(xiàn)為宿主實(shí)現(xiàn)時(shí)為1,實(shí)現(xiàn)為獨(dú)立實(shí)現(xiàn)為0

__STDC_IEC_559__

(C99)浮點(diǎn)數(shù)實(shí)現(xiàn)復(fù)合IBC 60559標(biāo)準(zhǔn)時(shí)定義為1,否者數(shù)值是未定義

__STDC_IEC_559_COMPLEX__

(C99)復(fù)數(shù)運(yùn)算實(shí)現(xiàn)復(fù)合IBC 60559標(biāo)準(zhǔn)時(shí)定義為1,否者數(shù)值是未定義

__STDC_ISO_10646__

(C99)定義為長(zhǎng)整型常量,yyyymmL表示wchar_t值復(fù)合ISO 10646標(biāo)準(zhǔn)及其指定年月的修訂補(bǔ)充,否則數(shù)值未定義

iOS宏定義介紹

在了解宏定義的使用前,需要說(shuō)明一下合理使用宏定義確實(shí)可以提高程序的可讀性,但是濫用宏定義,也會(huì)帶來(lái)一些害處。這里對(duì)宏定義使用的優(yōu)缺點(diǎn)做個(gè)簡(jiǎn)單的說(shuō)明:

宏可以分為兩類,一類稱為對(duì)象宏,一類稱為函數(shù)宏

對(duì)象宏可以定義一個(gè)量,如圓周率:

通過宏可以拿到這個(gè)變量:

打印結(jié)果:

但是看一下另外一種情況:

結(jié)果如下:

為什么*2的結(jié)果不是140,是110呢?

因?yàn)榍懊嫣岬竭^了,宏只是簡(jiǎn)單地替換,所以 2的時(shí)候,實(shí)際是30+40 2

函數(shù)宏的作用就類似于一個(gè)函數(shù)一樣。如:

其結(jié)果如下:

再來(lái)看另外一個(gè)例子:

這里需要注意一個(gè)問題,如果宏太長(zhǎng),可以使用"/"進(jìn)行換行

這樣便是大大增加了可讀性

在OC中使用字符串都需要使用@"",如果想直接使用字符串可以添加一個(gè)"#":

再看一個(gè)關(guān)于##的操作符,連接符##用來(lái)將兩個(gè)token連接為一個(gè)token:

提到可變參數(shù)宏,其實(shí)能夠想到的,最多的便是NSLog。可變參數(shù),可以利用 VA__ARGS進(jìn)行讀?。?/p>

打印結(jié)果如下:

字節(jié)大小端

例如一個(gè)16bit的short型x,在內(nèi)存中的地址為0x0010,x的值為0x1122,那么0x11為高字節(jié),0x22為低字節(jié)。對(duì)于大端模式,就將0x11放在低地址中,即0x0010中;0x22放在高地址中,即0x0011中。小端模式,剛好相反

一個(gè)判斷當(dāng)前系統(tǒng)是大端還是小端的函數(shù),小端則返回1:

以上函數(shù),若在小端系統(tǒng)下,其字節(jié)序?yàn)?,b[0]中存儲(chǔ)00000001,后三個(gè)字節(jié)依次存儲(chǔ)00000000,大端系統(tǒng)下反之

在iOS開發(fā)中,蘋果已經(jīng)為我們定義好了一套用于大小端轉(zhuǎn)換的宏定義:

NTOHL,network to host,L、S、LL分別對(duì)應(yīng)long、short、long long

HTONL,反之

大小端轉(zhuǎn)換原理如下:

假設(shè)一個(gè)short類型的數(shù)字:0x1122,那么其二進(jìn)制形式為:00010001 00100010

首先,取出第一個(gè)字節(jié),右移八位:

然后,取出第二個(gè)字節(jié),左移八位:

最后,按位或,至此,大小端轉(zhuǎn)換完成:

ios 宏定義 優(yōu)缺點(diǎn) 及 何時(shí)使用

有人會(huì)問宏是干什么的呢,說(shuō)簡(jiǎn)單一點(diǎn),就是一個(gè)鍵完成一系列操作,比如說(shuō),在KOF中,你只要把相應(yīng)的超必殺設(shè)定為宏,你按一個(gè)鍵就可以發(fā)出極其復(fù)雜的超必殺.宏定義的具體符號(hào)表示如下:u=上 d=下 f=前 b=后 df=前下 db=后下 ub=后斜跳 uf=前斜跳 1=按鍵1 2=按鍵2 3=按鍵3 4=按鍵4 5=按鍵5 6=按鍵6 s=開始 ,=下一幀 有停頓的作用 +=表示在宏定義的招式發(fā)出的同時(shí)接受其它操作指令的輸入,經(jīng)觀察發(fā)現(xiàn),u,d,f,b就是上,下,前,后的英文單詞的第一個(gè)字母??赐炅司唧w符號(hào)表示方法后,比如KOF99nd中人物的例子.先打開INI目錄中的KOF99nd.ini,如果你沒有這個(gè)文件,運(yùn)行一個(gè)kof99nd就會(huì)自動(dòng)生成該文件的 在記事本中查找 [Macros],會(huì)跳轉(zhuǎn)到該行,在這里就可以寫宏命令了那個(gè)d,df,f,df,d,db,b3就是筆者剛才定義的宏,前面是一個(gè)1,就證明按數(shù)字1鍵就可以發(fā)出K'DASH的連鎖驅(qū)動(dòng)的超必殺了,那個(gè)1就可以改變的,任何鍵都可以,只要不跟上面的控制設(shè)定沖突就行了再給幾個(gè)宏給大家參考,對(duì)照一下上面的"宏定義的具體符號(hào)表示方法"就懂了.K'DASH連鎖驅(qū)動(dòng):↓↘→↘↓↙←+C宏命令: d,df,f,df,d,db,b3你把Macro1A=12+改成Macro1A=d,df,f,df,d,db,b3然后保存(注意:下面的Macro1B...J都是可以改的,一共支持十條宏命令)運(yùn)行kof99nd,看一下在“游戲”菜單中的"重新定義鍵位設(shè)定"中的"重新定義玩家1的鍵位設(shè)定 ..."

iOS 常用RGB十六進(jìn)制顏色設(shè)置的宏定義、方法

hexadecimal code(十六進(jìn)制編碼),簡(jiǎn)寫為 hex code。Hexadecimals (或 hex)是十六進(jìn)制數(shù)字,這意味著它使用十六個(gè)不同的符號(hào)。

在 CSS 中,我們可以使用 6 位十六進(jìn)制數(shù)字來(lái)表示顏色,每 2 位分別表示紅色 (R)、綠色 (G) 和藍(lán)色 (B) 成分。例如,#000000 是黑色,同時(shí)也是可能的數(shù)值中最小的。#FF0000是紅色, #00FF00是綠色, #0000FF是藍(lán)色。

你可能會(huì)疑惑為什么我們使用6位數(shù)來(lái)表示一種顏色而不是只用一位或二位,答案是使用6位數(shù)可提供給我們巨大數(shù)量的顏色變化。

會(huì)有多少種可能的顏色?16 個(gè)值和 6 個(gè)位置意味著我們有 16 的 6 次方,或者說(shuō)超過 1600 萬(wàn)種可能的顏色。

在實(shí)際開發(fā)當(dāng)中,我們會(huì)遇到各種設(shè)置顏色的場(chǎng)景。有通過RGB三原色設(shè)置的、有通過服務(wù)器返回十六進(jìn)制字符串設(shè)置的、有設(shè)置顏色同時(shí)還設(shè)置透明度的、有本地使用十六進(jìn)制設(shè)置的,本文將iOS中常用RGB十六進(jìn)制顏色設(shè)置的宏定義及相關(guān)分類方法做了一個(gè)總結(jié)。

RGB

十六進(jìn)制顏色 Hex

顏色設(shè)置宏定義的使用 :

分類的小括號(hào)中有分類名字

分類特點(diǎn):

UIColor + Addition.h 聲明

UIColor + Addition.m 實(shí)現(xiàn)

在使用的位置導(dǎo)入頭文件,或者直接放到pch文件中。

設(shè)置RGB顏色

獲取顏色的RGB值

本地設(shè)置十六進(jìn)制顏色

字符串設(shè)置十六進(jìn)制顏色

我是楚簡(jiǎn)約,感謝您的閱讀,

喜歡就點(diǎn)個(gè)贊唄,“?喜歡”,

鼓勵(lì)一下,你在看,我就繼續(xù)寫~

非用戶,可以點(diǎn)右上角的三個(gè)“...”,然后"在Safari中打開”,就可以點(diǎn)贊咯~


網(wǎng)頁(yè)標(biāo)題:ios開發(fā)宏定義,ios是宏內(nèi)核嗎
本文來(lái)源:http://weahome.cn/article/dscgdpo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部