崩溃
它在Xcode 9.4.1 swift 3.x中正常工作
使用Xcode 10后,swift 3.x应用程序在代码段中的objc_getAssociatedObject处崩溃。
扩展字符串{
struct AssociatedKey {
static var associatedFormatterKey: UInt8 = 0
}
var associatedDateFormatter: DateFormatter {
get {
if let formatter = objc_getAssociatedObject(self, &AssociatedKey.associatedFormatterKey) as? DateFormatter {
return formatter
} else {
let formatter = DateFormatter()
formatter.locale = Locale.serverFormatterLocale
objc_setAssociatedObject(self, &AssociatedKey.associatedFormatterKey, formatter, .OBJC_ASSOCIATION_ASSIGN)
return formatter
}
}
}}
应用僵尸之后
错误:[NSDateFormatter保留]:消息发送到已释放实例0x6000067a4630
解决方法:将objc_setAssociatedObject策略.OBJC_ASSOCIATION_ASSIGN更新为.OBJC_ASSOCIATION_RETAIN)可以正常工作。
我想了解最佳解决方法。
任何帮助都会很棒。
谢谢