我在我的项目中使用以下代码在 View 上绘制淡入淡出:
let customBlurClass: AnyObject.Type = NSClassFromString("_UICustomBlurEffect")!
let customBlurObject: NSObject.Type = customBlurClass as! NSObject.Type
self.blurEffect = customBlurObject.init() as! UIBlurEffect
self.blurEffect.setValue(1.0, forKeyPath: "scale")
self.blurEffect.setValue(radius, forKeyPath: "blurRadius")
super.init(effect: radius == 0 ? nil : self.blurEffect)
有时在 Fabric 上,我会在这一行收到来自应用程序的崩溃报告:
let customBlurClass: AnyObject.Type = NSClassFromString("_UICustomBlurEffect")!
这意味着 NSClassFromString 返回 nil 值,
我搜索了很多关于这个问题但没有有用的答案,
请帮忙,
谢谢。
最佳答案
最可能的解释是这些崩溃发生在运行 iOS 8 或更早版本的设备上。 _UICustomBlurEffect
是在 iOS 9 中引入的。
你应该这样做:
if let blurClass = NSClassFromString("_UICustomBlurEffect") {
// set up blur view
}
避免在不支持的设备上崩溃。
关于ios - NSClassFromString swift 2.0 返回的 nil 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42140797/