2011-02-03 15 views
2

イメージファイルafghanistan.pngは、iOSプロジェクトのリソースグループ内のFlagsというグループにあります。私はUITableViewCellでこの画像にアクセスしたいと思います。私はそれを呼び出すと(null)を返します。.plist内のファイルへのパスを指定します。

<string>/Flags/afghanistan.png</string> 

ファイルへの正しいパスは?

<plist version="1.0"> 
<array> 
    <dict> 
     <key>name</key> 
     <string>Afghanistan</string> 
     <key>government</key> 
     <string>Islamic Republic</string> 
     <key>population</key> 
     <integer>0</integer> 
     <key>image</key> 
     <string>/Flags/afghanistan.png</string> 
    </dict> 

答えて

1

Xcodeプロジェクト内のファイルのグループ化は仮想の「ディレクトリ」であり、実際のものではありません。

これを念頭に置いて、イメージは/ Flagsディレクトリになく、ルートディレクトリ(まったく別のもの)にあることがわかります。また、ちょうど

<key>image</key> 
<string>afghanistan.png</string> 

にそれを変更してみてください、iPhoneは大文字と小文字が区別され、Macはないことを忘れないでください!これは、シミュレータでは動作しますが、電話では動作しません。

2

あなたは、あなたのプロジェクトのコードからこのファイルにアクセスしようとしている場合は、正しいパスのようなもののようになります。もちろん

NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Flags/afghanistan.png"]; 

これは、ファイルが正しい場所に実際にあることを前提としています。 .plistファイルでは、/Users/username/MyApp/Resources/Flags/afghanistan.pngのような完全なパスを使用する方が良いでしょう。

関連する問題