NSDictionaryの配列をファイルに保存します。そこで、NSArrayからNSStringに変換する関数を記述します。しかし、私は非常に奇妙な問題を抱えています。ここに私のコードです。 " - " 私を得るにはどうすればよい@NSStringの 'componentsSeparatedByString'メソッドから奇妙な出力が得られました
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
この次の配列から?!:ここ
+ (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"
)
渡す文字列とは何ですか?セパレータ定数の値は何ですか? @ " - "はそれと関係がありません。上記のコードでは、if文の前後に同じ値を 'string'に代入します。 – jrturton
@jrturton。申し訳ありませんが、デバッグのために追加していたコード行です。私はdataStringとセパレータについては言及していませんでしたが、私はログにstringArrayを表示しました。そこに@ " - "がないことがわかります。なぜ@ " - "が印刷されるのだろうか? – yoyosir