我在项目中使用以下代码在视图上绘制淡入淡出:

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/

10-08 20:52