我有以下一段代码,其中我从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字符串]!'
答案 0 :(得分:0)
尝试使用此代码将字符串追加到属性字符串中,希望对您有所帮助。
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)]