-1

私は立ち往生しています!これを機能させることはできません。

これは私がやろうとしていることです: .txt ファイルにいくつかのデータがあり、最終的に NSArray に入力したいのです! これは私がやったことです:

NSString *urlString = [[NSBundle mainBundle] pathForResource:@"intsAndsStrings" ofType:@"txt"];
NSArray *objectsArray = [[NSArray alloc]initWithContentsOfFile:urlString];
NSLog(@"objectsArray is: %@", objectsArray);

最後の行から得られる唯一の出力は次のとおりです。

    objectsArray is: (null)

txtFile 内のオブジェクトはコンマ (,) で区切られています。

私を助けてください!

4

4 に答える 4

5

array投稿したコードでは、ファイルがルート要素である plist タイプのファイルである必要があります。ファイルtxtが単純な古いテキスト ファイルであり、テキストの各行を配列に入れたい場合は、まったく異なるアプローチが必要です。

1 つのオプションは、テキスト ファイルをNSString変数にロードcomponentsSeparatedByCharactersInSet:し、newlineCharacterSet.

NSString *urlString = [[NSBundle mainBundle] pathForResource:@"intsAndsStrings" ofType:@"txt"];
NSString *rawText = [NSString stringWithContentsOfFile:urlString encoding:NSUTF8StringEncoding error:nil];
NSArray *objectsArray = [rawText componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

実際のコードはエラーを適切に処理します。

編集: テキスト ファイルが CSV ファイルであると述べていることに気付きました。これにはもう少し処理が必要です。CSV ファイルに複数の行がありますか? 各行の各値をどのように保存する必要がありますか?

于 2013-01-26T23:47:51.110 に答える
2

を使用するinitWithContentsOfFile:には、ファイルがコンマ区切り形式ではなく、プロパティ リスト形式である必要があります。プロパティ リスト プログラミング ガイドを参照してください。

于 2013-01-26T23:46:06.340 に答える
1

使用している拡張機能からわかるように、これはおそらく plist ファイルではありません。

次のような配列を含む plist ファイルを使用する必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>hello</string>
</array>
</plist>
于 2013-01-26T23:45:36.140 に答える