前の質問への回答からアドバイスに従っていますが、次のコードを実行するとエラーが発生します。これは、5 つの文字列の配列を 1 つの大きな文字列に結合することになっています。
NSArray *myStrings = [text componentsSeparatedByString:@"//"];
NSMutableAttributedString *result = [[NSMutableAttributedString alloc] init];
NSAttributedString *delimiter = [[NSAttributedString alloc] initWithString:@","];
NSLog(@"The Content of myStrings is %@", myStrings);
for (NSAttributedString *str in myStrings)
{
if (result.length)
{
[result appendAttributedString:delimiter];
}
[result appendAttributedString:str];
}
NSLog からの出力は次を返します。
2013-06-11 20:49:55.012 strings[11789:11303] The Content of myStrings is (
"Hello ",
"my name is ",
"Giovanni ",
"and im pretty crap ",
"at ios development"
したがって、5 つの文字列の配列があることがわかります。ただし、コードの最初の実行では、「if」ループをバイパスしますが (そうあるべきです)、「for」ループの最終行でエラーがスローされます。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString string]: unrecognized selector sent to instance 0x716ec60'
理由がわかりません-strと結果の両方が同じタイプの文字列として定義されているため、一方を他方に追加できない理由がわかりません。手がかりはありますか?