14

私はオブジェクティブ C に慣れようとしています。現在の目標は、テキスト ファイル内の項目のリストを読み取り、それらを NSString 配列に格納することです。

現在、これは私が持っているものです:

NSString *filepath = [[NSBundle mainBundle] pathForResource:@"myList" ofType:@"txt"];
NSData* data = [NSData dataWithContentsOfFile:filepath];
NSString* string = [[NSString alloc] initWithBytes:[data bytes]
                                             length:[data length]
                                           encoding:NSUTF8StringEncoding];

NSString* delimiter = @"\n";
listArray = [string componentsSeparatedByString:delimiter];

これが問題かどうかはわかりませんがmyList.txt、サポート ファイルに記載されています。

現時点では、私のリストには 1 つの項目しかありません。しかし、私はその1つのアイテムさえ私のに保存できませんlistArray

私が見逃しているのはばかげていると確信しています。私はObjective Cが初めてです。

編集: これについて以前に言及しなかったことをお詫びします。私はどんな種類のエラーも受け取っていません。私の配列はnullです。

4

2 に答える 2

3

ファイルの内容が次のような場合:

[{"Title":"20","Cost":"20","Desc":""},{"Title":"10","Cost":"10.00","Desc":""},{"Title":"5","Cost":"5.00","Desc":""}]

これを試して

-(id)readFromDocumentDBFolderPath:(NSString *)fileName
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
    NSFileManager *fileManager=[NSFileManager defaultManager];
    if ([fileManager fileExistsAtPath:appFile])
    {
        NSError *error= NULL;
        NSData* data = [NSData dataWithContentsOfFile:appFile];
        id resultData = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
        if (error == NULL)
        {
            return resultData;
        }
    }
    return NULL;
}
于 2015-05-15T10:42:11.823 に答える