我遵循上一个问题的答案的建议,但在运行以下代码时收到错误消息,该代码应该将 5 个字符串的数组连接成一个更大的字符串。
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 和 result 都被定义为相同类型的字符串,所以不明白为什么一个不能附加到另一个。任何线索任何人?