作为在UILabel中绘制文本的外部笔画的扩展的一部分,我想出了一个解决方案,其中包括:
它工作正常。
但是,我对创建UILabel副本的代码不满意,尤其是因为它的一部分不会回收任何潜在的错误,而其余部分则使用不推荐使用的代码。
extension UILabel {
func createCopy() -> UILabel {
let archivedLabel = try? NSKeyedArchiver.archivedData(withRootObject: self, requiringSecureCoding: false)
return NSKeyedUnarchiver.unarchiveObject(with: archivedLabel!) as! UILabel
}
}
我不会恢复潜在的错误NSKeyedArchiver
,并且
NSKeyedUnarchiver.UnarchiObject(with:)
已过时。我应该使用unarchivedObjectOfClass:fromData:error:
,但似乎无法正常工作。
如果能改善它,我将非常感谢!
最好
克里斯