擷取圖片路徑為空白的問題,擷取圖片路徑問題
_1.問題描述:_
在使用
NSString *path = [[NSBundle mainBundle]pathForResource:picName ofType:nil];
方法擷取圖片絕對路徑時,擷取到路徑為 null, 即路徑擷取失敗,運行提示類似如下異常:
【Could not load the <圖片名字>
image referenced from a nib in the bundle with identifier <項目名字>
】
導致後來通過圖片路徑將圖片添加到數組中失敗,提示無法添加Null 物件.
_2.問題分析:_
原文:http://blog.csdn.net/u012945598/article/details/17955215
問題出在將圖片匯入項目的步驟.將圖片檔案夾拖入 Xcode 時,會有兩個Added folders選項:

Create groups
Create folder references
如果選擇了第一種方式添加了一個檔案,我們會發現被添加進來的檔案,檔案夾是黃色的
選擇了第二種方式添加進來的檔案的檔案夾是藍色的
那麼兩種方式有什麼區別呢?
1.使用Create groups,為任何新增加的檔案夾建立組
,組的概念也許我們並不陌生,我們在項目中完全可以手動添加一個groups(右鍵點擊選擇New Group),但是手動添加的groups實際上並不會存在於項目的目錄中,你會發現被添加進groups中的檔案仍在位於它原來所在的位置,但是從外部引入進來的groups並不會如此,正如我們剛才那樣。groups一旦被建立或添加,都是以黃色檔案夾的形式存在的,當你想要使用檔案夾中的某個類的標頭檔時,你可以直接添加它的引用,例如
'#include xxx.h
因為groups下的cpp檔案是會被編譯的。
2.使用Create folder references 方法只是將檔案單純的建立了引用,這些檔案不會被編譯,所以在使用的時候需要加入其路徑,比如在我們想要使用中的myScripts檔案夾下面有某個標頭檔,則需要按照下面的方法添加聲明:
'#include myScripts/xxx.h
否則編譯器就會告訴你找不到xxx.h檔案。
這就是項目中黃色檔案夾與藍色檔案夾的區別以及使用方法
至於Destination對應選項,當你選擇了這個選項時,如果你想要引入的檔案不在你的專案檔的目錄下,Xcode則會自動將這個檔案複製一份拷貝到你的項目的目錄下
如果你不選擇,並且這個檔案也並不在你的項目目錄下,那麼這個檔案仍然可以被使用,但是一旦你將項目拷貝到了別的地方時,這個檔案就會找不到了。因為這個檔案在你的電腦中,而不在你的項目中。
_3.解決方案:_
添加圖片檔案時,選擇第一個選項Crest groups, 將其進行編譯