最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Xcode為iOS應(yīng)用項(xiàng)目創(chuàng)建PCH文件的方法及應(yīng)用示例

 更新時(shí)間:2016年03月21日 09:13:24   作者:ForeverYoung21  
這篇文章主要介紹了使用Xcode為iOS應(yīng)用項(xiàng)目創(chuàng)建PCH文件的方法及應(yīng)用示例,PCH文件可以保留應(yīng)用的很多的基礎(chǔ)設(shè)置信息以供復(fù)用,需要的朋友可以參考下

pch 可以用來存儲(chǔ)共享信息,比如設(shè)備屏幕的寬度,高度。版本號(hào)等等 公用信息
Xcode 老版本會(huì)自動(dòng)為我們創(chuàng)建pch文件,新版本開始不自動(dòng)創(chuàng)建了,如果需要使用可以自己手動(dòng)創(chuàng)建

201632190845019.jpg (730×430)

創(chuàng)建完成后可以在里面定義常量
此處以屏幕尺寸為例
如下

201632190921105.png (841×304)

代碼如下:

復(fù)制代碼 代碼如下:

//獲取屏幕 寬度、高度
#define SCREEN_FRAME ([UIScreen mainScreen].applicationFrame)
#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)

201632190942389.jpg (1139×659)

然后在程序中使用 可以直接 使用

復(fù)制代碼 代碼如下:

CGRectMake(0,60,SCREEN_WIDTH, SCREEN_HEIGHT-60)

PCH文件的應(yīng)用舉例:
在PCH文件中存放宏就是正常的創(chuàng)建,這里不舉例了。
在PCH文件中存放頭文件經(jīng)常用于分類,比如我們給UIColor增加了一個(gè)分類,并且希望在多個(gè)文件中使用這個(gè)分類,那么就可以在PCH文件中導(dǎo)入此分類的頭文件。
在PCH文件中自定義一些有用的宏,比如代替NSLog:
#define JYLog(...)  NSLog(__VA_ARGS__)
我們知道NSLog耗費(fèi)性能,在調(diào)試階段完成后需要將NSLog都刪除掉,但是隨著文件的增多,NSLog則不好控制,每一個(gè)都去找很浪費(fèi)時(shí)間。
此時(shí)我們可以利用宏來完成自動(dòng)開啟/關(guān)閉NSLog的功能。
復(fù)制代碼 代碼如下:

#ifdef DEBUG

// 調(diào)試階段
#define JYLog(...)  NSLog(__VA_ARGS__)

#else

// 發(fā)布階段
#define JYLog(...)

#endif


當(dāng)處于調(diào)試階段,JYLog的作用相當(dāng)于NSLog,而在發(fā)布階段則JYLog的作用相當(dāng)于空。這樣用JYLog代替NSLog就可以完成之前我們希望做的。
DEBUG的值會(huì)隨著Xcode中的設(shè)置改變而改變。
Edit Scheme -> Run -> Info -> Build Configuration.
Debug代表調(diào)試階段。
Release代表發(fā)布階段。
但是如果這樣做可能有潛在的危險(xiǎn)。前面說過PCH文件的內(nèi)容會(huì)拷貝到每個(gè)文件,所以如果此時(shí)我們創(chuàng)建一個(gè).c文件,在這個(gè)文件中同樣會(huì)拷貝PCH中的內(nèi)容,如果PCH文件中出現(xiàn)C語(yǔ)言不能識(shí)別的,那么很明顯會(huì)出錯(cuò)。
我們希望PCH文件只在Objective-C的范圍內(nèi)有效(OC文件內(nèi)拷貝PCH文件內(nèi)容),所以需要再進(jìn)行判斷:
復(fù)制代碼 代碼如下:

#ifdef __OBJC__

#ifdef DEBUG

// 調(diào)試階段
#define JYLog(...)  NSLog(__VA_ARGS__)

#else

// 發(fā)布階段
#define JYLog(...)

#endif

#endif


至此才能保證正確使用。
因?yàn)镻CH文件的內(nèi)容會(huì)拷貝到每一個(gè)文件中,即使這個(gè)文件并未用到PCH文件的內(nèi)容。所以在使用PCH文件的時(shí)候要慎重,這可能也是Apple不再默認(rèn)創(chuàng)建它的原因吧。

相關(guān)文章

  • iOS自定義UITabBar中間按鈕

    iOS自定義UITabBar中間按鈕

    這篇文章主要為大家詳細(xì)介紹了iOS自定義UITabBar中間按鈕,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • iOS搭建簡(jiǎn)易購(gòu)物車頁(yè)面

    iOS搭建簡(jiǎn)易購(gòu)物車頁(yè)面

    這篇文章主要為大家詳細(xì)介紹了iOS搭建簡(jiǎn)易購(gòu)物車頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • iOS 讀取URL圖片并存儲(chǔ)到本地的實(shí)例

    iOS 讀取URL圖片并存儲(chǔ)到本地的實(shí)例

    下面小編就為大家?guī)硪黄猧OS 讀取URL圖片并存儲(chǔ)到本地的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 深入講解iOS開發(fā)中的UIViewController

    深入講解iOS開發(fā)中的UIViewController

    這篇文章主要介紹了iOS開發(fā)中的UIViewController,其中以UIViewController作為著重講解,需要的朋友可以參考下
    2015-09-09
  • iOS開發(fā)之枚舉用法小結(jié)

    iOS開發(fā)之枚舉用法小結(jié)

    大家都知道枚舉是C語(yǔ)言中的一種基本數(shù)據(jù)類型,是一個(gè)"被命名的整型常量"的集合,它不參與內(nèi)存的占用和釋放,我們?cè)陂_發(fā)中使用枚舉的目的只有一個(gè),那就是為了增加代碼的可讀性。下面就來來看看在iOS中枚舉的用法,有需要的朋友們可以看看。
    2016-09-09
  • iOS中NSNumberFormatter的介紹與用法

    iOS中NSNumberFormatter的介紹與用法

    NSNumberFormatter 應(yīng)該可以滿足你對(duì)數(shù)據(jù)形式的一般需求,值得了解一下,下面這篇文章主要給大家介紹了關(guān)于iOS中NSNumberFormatter的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • iOS8調(diào)用相機(jī)報(bào)警告Snapshotting a view的解決方法

    iOS8調(diào)用相機(jī)報(bào)警告Snapshotting a view的解決方法

    這篇文章主要介紹了iOS8調(diào)用相機(jī)報(bào)警告Snapshotting a view……的解決方法 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • iOS中長(zhǎng)條藍(lán)色按鈕(button)實(shí)現(xiàn)代碼

    iOS中長(zhǎng)條藍(lán)色按鈕(button)實(shí)現(xiàn)代碼

    本文通過實(shí)例代碼給大家介紹了iOS中長(zhǎng)條藍(lán)色按鈕(button)實(shí)現(xiàn)方法,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-08-08
  • 解決iOS UITextField 編輯時(shí)文本偏移問題

    解決iOS UITextField 編輯時(shí)文本偏移問題

    這篇文章主要介紹了解決iOS UITextField 編輯時(shí)文本偏移問題,需要的朋友可以參考下
    2017-05-05
  • 解決ios手機(jī)中input輸入框光標(biāo)過長(zhǎng)的問題

    解決ios手機(jī)中input輸入框光標(biāo)過長(zhǎng)的問題

    在項(xiàng)目中做移動(dòng)端頁(yè)面,發(fā)現(xiàn)IOS 的光標(biāo)大小很大,和安卓的完全不一樣,怎么來調(diào)整大小呢?下面小編給大家?guī)砹薸os手機(jī)中input輸入框光標(biāo)過長(zhǎng)問題的解決方法,一起看看吧
    2018-08-08

最新評(píng)論

东丰县| 新绛县| 德庆县| 五寨县| 高阳县| 边坝县| 江门市| 陵川县| 镇康县| 巴里| 虹口区| 岚皋县| 广安市| 东台市| 囊谦县| 东宁县| 平乡县| 栾川县| 宽甸| 大厂| 克东县| 洮南市| 黄石市| 德阳市| 宁远县| 黄梅县| 德化县| 包头市| 巴彦县| 玛纳斯县| 富锦市| 汝城县| 新余市| 祁门县| 黎城县| 呼图壁县| 阜新市| 贡嘎县| 莆田市| 贡山| 陆川县|