我们如何转换NSAttributed String Backed到NSString

时间:2014-11-17 08:41:44

标签: ios nsstring nsdata nsattributedstring

我正在更改textview的字体,在我得到属性字符串后,我用它将它传递给另一个控制器,它也显示我的属性字符串。我想将属性字符串转换为NSString(使用我已更改的特定字体)。

我正在使用

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:text.attributedText];
NSAttributedString *nas = [[NSAttributedString alloc] initWithData:data
                                                           options:nil
                                                documentAttributes:NULL
                                                             error:NULL];

NSString *str = [nas string];

以下显示日志:

2014-11-17 14:23:17.094 format[2785:98416] bplist00‘°¢T$topX$objectsX$versionY$archiver—TrootÄØ"    
%&'().6EFJRSTU[`glt}~ÅâäãåíñúU$null‘
XNSString\NSAttributesV$class_NSAttributeInfoÄÄÄ!ÄYThud high“
ZNS.objectsÄ¢ÄÄ”
 !WNS.keys£ÄÄ   ÄÄ£"#$ÄÄÄ[NSUnderline_NSParagraphStyleVNSFont”
*+,-(ZNSTabStops_NSWritingDirectionÄ
Ä

3 个答案:

答案 0 :(得分:1)

实际上NSAttributedStringstring属性:

NSString *result = myAttributedString.string;

答案 1 :(得分:1)

只需写下

[attributedString string];

答案 2 :(得分:0)

您可以使用以下代码行将属性字符串转换为字符串:

self.txtView.text = [attributedstring string];

但我建议更好地使用它作为属性文本,如下所示:

self.txtView.attributedText = attributedstring;