Приложение аварийно завершает работу при вызове append insubclass NSMutableAttributedString - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть следующий фрагмент кода, в котором я унаследовал класс от 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», причина: «*** -строка определена только для абстрактныхучебный класс.Определите - [string.str строка]! '

1 Ответ

0 голосов
/ 07 декабря 2018

попробуйте этот код, чтобы добавить строку в атрибутивную строку, я надеюсь, что это поможет вам.

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)]
...