问题
I have a NSMutableArray
composed of NSAttributedString
's.
I'm trying to convert it to a single NSAttributedString
separating all the NSAttributedString
's with a character.
This approach is similar to the conversion of an array to a NSString
with the componentsJoinedByString:@","
method but unfortunately this method doesn't exist with the NSAttributedString
.
How can I convert the array? Thanks.
回答1:
I'd to the old way:
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] init];
NSAttributedString *jointElement = [[NSAttributedString alloc] initWithString:@","]
for (int i = 0; i < [yourArray count] -1; i ++)
{
[attrStr appendAttributedString:[yourArray objectAtIndex:i]];
[attrStr appendAttributedString:jointElement];
}
[attrStr appendAttributedString:[yourArray lastObject]];
回答2:
Create a result mutable attributed string and a 'spacer' character string, iterate the array and append the string from the array and the spacer to the result string (unless this is the last iteration, then don't add the spacer).
来源:https://stackoverflow.com/questions/23368237/convert-array-to-nsattributedstring