乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      iOS開發(fā)UI篇

       Crazy Zeng 2015-08-14

      iOS開發(fā)UI篇—常見的項目文件介紹

      一、項目文件結(jié)構(gòu)示意圖

       

      二、文件介紹

      1.products文件夾:主要用于mac電腦開發(fā)的可執(zhí)行文件,ios開發(fā)用不到這個文件
      2.frameworks文件夾主要用來放依賴的框架
      3.test文件夾是用來做單元測試的
      4.常用的文件夾(項目名稱文件夾)
      (1)XXXinfo.plist文件(在該項目中為  01-常見文件-Info.plist)
      1)簡單說明
      是配置文件,該文件對工程做一些運行期的配置,非常重要,不能刪除。
      在舊版本xcode創(chuàng)建的工程中,這個配置文件的名字就叫做info.plist。
      注意:因此在載入自己準(zhǔn)備的plist文件的時候,不要以info命名。
      2)配置文件的屬性介紹:
      bundle display name:
      應(yīng)用程序顯示名稱。如果要修改桌面上顯示的文件名稱,只要修改此處就可以了。(需要先刪除原始的程序,然后清空一下工程,因為程序有緩存)
      bundle identifer:
      唯一標(biāo)識符(唯一的標(biāo)識著一個應(yīng)用程序,為了保證程序的唯一性,通常把域名倒過來寫)
      Bundle versions string, short和bundle versions
       兩個都用來表示應(yīng)用程序的版本,前面的版本是正式的版本,后面的為內(nèi)部版本,即公司內(nèi)部開發(fā)的版本。要求提示:上傳app的時候,后面更新的版本必須比之前的版本大。
      main storyboard file base name
      最主要的storyboard
      有兩種方式修改plist配置文件:
      第一種方式即在如圖所示的界面對配置信息進(jìn)行修改。
      第二種方式直接點擊工程,可以通過可視化界面進(jìn)行設(shè)置。
        
      補充說明:
      a.應(yīng)用程序支持的旋轉(zhuǎn)方向。四個方向,垂直-不支持顛倒-左-右(最多只支持三個方向)
      b.plist文件打開之后是xml文件。和字典一樣,是通過鍵值對的形式來保存數(shù)據(jù)。在xml文件中,添加了CF前綴
       (2)pch文件(在該項目中為  01-常見文件-Prefix.pch)
      1)簡單說明
      保存的內(nèi)容能夠被項目中的其他所有原文件共享。
      通常情況下宏文件的處理,需要添加import導(dǎo)入頭文件。以后可以把這個宏定義在這個文件中,不再需要導(dǎo)入頭文件
      2)應(yīng)用場景:
      1.用來定義一些全局的宏,
      2.用來導(dǎo)入一些全局都能用到的頭文件。
      3.用來自定義NSlog,很消耗資源。(幾乎是最消耗的),在發(fā)布的時候要把所有的打印都去掉。
      補充:在開發(fā)中,分為兩個階段。
      一是開發(fā)調(diào)試階段,需要打印log調(diào)試程序,如果程序處于調(diào)試階段,系統(tǒng)會為我們定義一個名稱叫做DEBUG的宏。
      二是發(fā)布階段:不需要打印log,因為log很占用資源,并且用戶看不懂log,如果程序處理發(fā)布階段,會去除這個宏。
      難道在發(fā)布的時候要一個一個把NSlog都注釋掉?然后在開發(fā)第二版,第三版的時候,又要把所有注釋掉的NSlog都打開?
      對于這個問題,在.pch文件中自定義NSlog就可以很好的解決。)
       3)自定義NSlog
      在做開發(fā)的時候可以先打開pch文件,看看公司中有沒有自定義NSlog。
      復(fù)制代碼
       1 // __OBJC__這個宏,在所有的.m和.mm文件中默認(rèn)就定義了這個宏
       2 #ifdef __OBJC__
       3 // 如果這個全局的頭文件或者宏只需要在.m或者.mm文件中使用,
       4 // 請把該頭文件或宏寫到#ifdef __OBJC__ 中
       5     #import <UIKit/UIKit.h>
       6     #import <Foundation/Foundation.h>
       7 
       8 #ifdef DEBUG
       9 #define NJLog(...) NSLog(__VA_ARGS__)
      10 #else
      11 #define NJLog(...)
      12 #endif
      13 
      14 #endif
      復(fù)制代碼

      說明:…指接收可變參數(shù)

      補充:
      _OBJC_這個宏,在所有的.m和.mm文件中,都默認(rèn)包含了這個宏,就默認(rèn)會編譯下面那兩句
      條件編譯語句,如果有這個宏,就編譯下面的語句。

          #import <UIKit/UIKit.h>

          #import <Foundation/Foundation.h>

      如果這個全局的頭文件或者宏,只需要在.m或.mm文件中使用,請把該文件或宏寫到#ifdef_ODBC_中用。
      注意點:建議寫在條件編譯里面(注意#endif)
      infoplist.strings的文件,跟info.plist文件的本地化相關(guān)

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多