将NSMutableAttributedString转换为NSString

tec*_*man 31 objective-c nsstring uilabel ios nsmutableattributedstring

我们可以不转换NSMutableAttributedStringNSString

我有两个NSMutableAttributedStrings,我将第二个字符串附加到1st,如下所示:

[string1 appendAttributedString:string2];

因为我必须在标签上显示string1:

self.label1.text = (NSString *)string1;
Run Code Online (Sandbox Code Playgroud)

我收到了"unrecognized selector sent to instance"错误.

我在这里做错了吗?这不是分配NSMutableAttributedString标签的文本属性的正确方法吗?

rma*_*ddy 74

您不能使用强制转换将对象从一种类型转换为另一种类型.使用提供的方法:

self.label1.text = [string1 string];
Run Code Online (Sandbox Code Playgroud)

更好的是,使用属性字符串:

self.label1.attributedText = string1;
Run Code Online (Sandbox Code Playgroud)


Jur*_*tas 16

NSAttributtedString包括一个.string财产.从那里,你可以NSString没有属性.

所以:

NSAttributtedString* someString;
NSString* string = someString.string;
Run Code Online (Sandbox Code Playgroud)