-1

次のコードがありました。

 NSData * JSONData = [MyJSON dataWithJSONObject:highlightItemsArray];
                if ([JSONData isNotNull]){
                    NSError *error;
                    BOOL writeToDiskSuccess = [JSONData writeToFile:self.highlightDiskCachePath_ options:NSDataWritingAtomic error:&error];
                    if (!writeToDiskSuccess){
                        NSLog(@"Writing appended caption failed %@", error);
                    } else {
                        NSLog(@"Writing appended caption succeed");
                    }
                }

ただし、これは NO を返し、printed が null の場合はここでエラーになります。何が問題なのか、どうすればわかりますか?

4

1 に答える 1

0

ここで答えを得るには、さらに詳細を追加する必要があると思います。

writeToDiskSuccess = FALSE になると思いますか? もしそうなら、私が最初に見ているのは、誤って間違ったディレクトリに書き込んでいる場合です... self.highlightDiskCachePath_ の値を教えてもらえますか? また、シミュレーターでも同じエラーが発生しますか? その場合、Finder でそこに移動して、パス要素が欠落しているか、またはそこに書き込めない他のディスクの問題があるかどうかを確認できるはずです。

最後に、それが JSONData writeToFile の失敗に固有のものではないことを確認します... これを書き込もうとしている場所に単純なテキスト ファイルを書き込めますか?

また、通常とは異なるコンソール出力に注目する価値があるかもしれません。これらのことが失敗した場合、そこから手がかりが得られることがあります。

于 2013-01-18T22:16:47.657 に答える