2010-12-16 3 views
0

NSSearchPathForDirectoriesInDomainsは空のパスを返しますか?私は、次のしている場合はiOSのNSSearchPathForDirectoriesInDomainsが今まで0のパスを返します

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSLog(@"paths: %d", [paths count]); 

if ([paths count] > 0) 
{ 
    // path exists and is the 1st item in the array 
} 
else 
{ 
    // path doesn't exist. Under what conditions would it not exist? 
} 

答えて

1

にNSArray *パス= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory、NSUserDomainMask、YES)。

は、私は、これは単なる守備の符号化である疑いがある

+0

ご迷惑をおかけして申し訳ございません。私は、正しいAPI名を使用して0のパスがあることに興味がありました –

1

を "s" を追加します。その正確な呼び出しが0のパスを返す理由はわかりませんが、NSSearchPathForDirectoriesInDomains()メソッドは、渡された別のパラメータを使用して行う可能性があります。

また、パスが存在する場合でも、実際のディレクトリが存在することを保証するものではないので、理想的には別のチェックを行う必要があります。ただし、NSDocumentDirectoryでは、ちょうどそれがそこにあると仮定します。なぜそうでないのか分かりません。

+0

[空の配列を返したところです。](http://stackoverflow.com/questions/12938962/index-0-beyond-bounds-for-空の配列中にドキュメントディレクトリに移動する) –

0

そこにはクラッシュはないと思います。コンパイラは間違った位置に停止します。

関連する問題