1

検索可能なplistファイルをロードするリファレンスアプリに取り組んでいます。

plistファイルは約6kbで、約600のエントリがあります。

私はシミュレーターを使用していて、すべて正常に動作していますが、デバイスにロードすると、データがありません。ただ空のテーブル。

20エントリのplistをロードでき、デバイスに正常にロードされるため、ファイルが大きすぎる可能性があると思います。

ファイルが大きすぎると、アプリ全体がクラッシュしませんか?

誰か提案はありますか?

これが私のplistファイルをロードする方法です

NSString* myFile = [[NSBundle mainBundle] pathForResource:@"myPlistFile" ofType:@"plist"];
array = [[NSMutableArray alloc] initWithContentsOfFile:myFile];
4

1 に答える 1

3

私には、plistがデバイスにまったくコピーされていないか、大文字と小文字を区別するファイルの名前付けを使用しているように聞こえます。

まず、ファイルが存在するかどうかを確認します。

NSString *myFilePath = [[NSBundle mainBundle] pathForResource:@"myPlistFile" ofType:@"plist"];
BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:myFilePath];

そのブール値を確認します(デバッガーを使用するか、いずれかの方法でログを記録します)。ファイルが存在する場合は、ファイル名にアクセスしようとしたときに間違った大文字と小文字を使用している可能性があります。シミュレータとは異なり、iOSデバイスではファイル名で大文字と小文字が区別されます。たとえば、plistの名前がであるとしますmyAwesomeStuff.plist。シミュレーターでアクセスしようとするとmyawesomestuff.plist、問題なく動作します。デバイスではそうではありません。ファイル名に正しい大文字と小文字を使用していることを確認してください。

于 2012-04-17T22:02:24.973 に答える