0

NSDictionary の配列をファイルに保存したい。そこで、NSArray から NSString に変換する関数を書きます。しかし、私は非常に奇妙な問題を抱えています。これが私のコードです。

+ (NSArray *)arrayForString:(NSString*)dataString
{
    NSArray* stringArray = [dataString componentsSeparatedByString:ROW_SEPARATOR];
    NSLog(@"%@", stringArray);
    NSMutableArray* dictionaryArray = [[NSMutableArray alloc] initWithCapacity:0];
    for (int i = 0; i < [stringArray count]; i++)
    {
        NSString* string = [stringArray objectAtIndex:i];
        NSLog(@"%@", string);
        NSArray* subStrings = [string componentsSeparatedByString:COLUMN_SEPARATOR];
        NSDictionary* dic = [[NSDictionary alloc] initWithObjectsAndKeys:[subStrings objectAtIndex:0], PHOTO_NAME, [NSNumber numberWithUnsignedInt:[[subStrings objectAtIndex:1] unsignedIntValue]], PHOTO_SEQ_NO, nil];
        [dictionaryArray addObject:dic];
    }
    return dictionaryArray;
}

ログは次のとおりです。

2012-05-05 23:57:35.113 SoundRecognizer[147:707] (
    "new Photo/0",
    "new Photo/1"
)
2012-05-05 23:57:35.118 SoundRecognizer[147:707] new Photo/0
2012-05-05 23:57:35.123 SoundRecognizer[147:707] -[__NSCFString unsignedIntValue]: unrecognized selector sent to instance 0x1d18c0

この次の配列から @"-" を取得するにはどうすればよいですか?!

2012-05-05 23:57:35.113 SoundRecognizer[147:707] (
    "new Photo/0",
    "new Photo/1"
)
4

1 に答える 1

2

NSString にはメソッドがありませんunsignedIntValueintValue代わりに使用してください。しかし、私はこのすべてのポイントを確信していませんwriteToFile: atomically:..

于 2012-05-05T18:00:03.537 に答える