NSMutableAttributedString

NSMutableAttributedString

我有下面一段代码,其中我从NSMutableAttributedString继承了一个类,当我在类的方法中调用append方法时,应用程序崩溃。我只想知道原因。有人能帮我吗?

 class Str: NSMutableAttributedString {

 override init() {
    super.init()
 }

 required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
 }

 func getStr(s:String) {
    self.append(NSMutableAttributedString.init(string: s))
    print(self)
 }

}

错误消息是:
由于意外异常而终止应用程序
'NSInvalidArgumentException',原因:'***-仅为定义的字符串
抽象类。Define-[字符串.str字符串]!'

最佳答案

请尝试使用此代码在属性字符串中追加字符串,希望对您有所帮助。

func getStr(_ newstr:String, attrib:[NSAttributedString.Key: Any]) {
    let newText = NSMutableAttributedString(string: newstr, attributes: attrib)
    self.append(newText)
    print(self)
 }

你应该像下面这样传递newstr和attrib。
let newstr: newstr = "your text here"
let attrib: [NSAttributedString.Key: Any] = [.foregroundColor: UIColor.black, .font: UIFont.systemFont(ofSize: 15)]

关于ios - 调用NSMutableAttributedString的append子类时,应用崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53668465/

10-11 08:14