Convert array to NSAttributedString

孤者浪人 提交于 2019-12-07 21:38:42

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!