<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                @NSBundle包,是一種特定的文件類型,一個主要作用是 獲取Resources文件夾中的資源 ? ? ?bundle是一個目錄,其中包含了程序會使用到的資源. 這些資源包含了如圖像,聲音,編譯好的代碼,nib文件(用戶也會把bundle稱為plug-in). 對應bundle,cocoa提供了類NSBundle. ? ? ? ? ? ?我們的程序是一個bundle. 在Finder中,一個應用程序看上去和其他文件沒有什么區別. 但是實際上它是一個包含了nib文件,編譯代碼,以及其他資源的目錄. 我們把這個目錄叫做程序的main bundle。 ? ? ?[NSBundle mainBundle]是獲得NSBundle的一個單例對象,次單例對象 已經設置了默認的resourcePath,也就是你的app打包后的路徑,[NSBundle mainBundle]resourcePath]就是獲得這個完整的打包后的app路徑,但你的test.txt文件并不在這個目錄,而是在app內部,這時就需要拼接路徑字符串[NSString stringWithFormat:@"%@%@%@",[[NSBundle mainBundle]resourcePath],@"/",path]; --------------------------------------------------------------------------------------------------------------------------------------------- ? iOS程序有固定的文件訪問限制,只能在自己的沙盒內。 ? UIImage *img=[UIImage imageNamed:@"cellicon.png"]; ? 這段代碼從相對路徑加載了一個png圖片資源作為UIImage對象,沒有任何問題。因為它在內部已經偷偷得幫你把路徑轉化為相對路徑了,你還不知道吧! ? 接下來,如果要加載一些自定義格式的文件或者數據,就會出現相對路徑和絕對路徑的問題。比如 ? NSFileHandle *fileHandle=[NSFileHandlefile HandleForReadingAtPath:newPath]; ? newPath為一個字符串路徑,這里的路徑你卻不能像上面那樣 ? NSFileHandle *fileHandle=[NSFileHandle fileHandleForReadingAtPath:@"test.txt"]; ? 這樣系統是找不到文件的,因為這里需要的是文件的絕對路徑,而@“test.txt”完全是無效的。 ? 這個時候就需要NSBundle的幫忙了,這個類專門用來負責路徑轉化等等功能那。大家都知道ios項目雖然在xcode下可以創建文件夾結構,但是實際上它是沒有文件結構概念的,所以此時假如要加載放在項目目錄下的test.txt文件,完整的代碼應該是這樣 方法1: ? NSString *newPath=[NSString stringWithFormat:@"%@%@%@",[[NSBundle mainBundle]resourcePath],@"/",path]; ? NSLog(@"url=%@",newPath); ? NSFileHandle *fileHandle=[NSFileHandlefile HandleForReadingAtPath:newPath]; 控制臺輸出app路徑resourcePath: /Users/zouzouyanghong/Library/Application Support/iPhone Simulator/5.0/Applications/76116A6A-572D-43AE-AE78-17D7A88DCAFC/JFitnessProduct.app 控制臺輸出拼接后完整文件絕對路徑: /Users/zouzouyanghong/Library/Application Support/iPhone Simulator/5.0/Applications/76116A6A-572D-43AE-AE78-17D7A88DCAFC/JFitnessProduct.app/test.jat 方法2: ? NSString *newPath=[[NSBundle mainBundle] pathForResource:@"test" ofType:@"txt"]; ? NSFileHandle *fileHandle=[NSFileHandle fileHandleForReadingAtPath:newPath]; [[NSBundle mainBundle] pathForResource:@"test" ofType:@"jat"];前面的就不再介紹了,pathForResource方法有兩個參數,前面這個為文件名,后面那個ofType就是文件類型,也就是文件后綴。 這里把文件名和后綴分開了,如果這是你得到的是一個完整的文件名如:@“test.txt”,那么你得自己想辦法把文件名和后綴分開了。 @要特別說明,此處的文件后綴是不需要“.”的,如果寫成@“.jat”是錯誤的,加載文件會失敗。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看