0

前の質問への回答からアドバイスに従っていますが、次のコードを実行するとエラーが発生します。これは、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と結果の両方が同じタイプの文字列として定義されているため、一方を他方に追加できない理由がわかりません。手がかりはありますか?

4

1 に答える 1