NSClassFromString swift 2.0返回的nil值

时间:2017-02-09 15:35:59

标签: ios swift

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

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值,

我搜索了很多关于这个问题,但没有有用的答案,

请帮助,

感谢。

1 个答案:

答案 0 :(得分:2)

最可能的解释是,这些崩溃发生在运行iOS 8或更早版本的设备上。 iOS {9}中引入了_UICustomBlurEffect

你应该这样做:

if let blurClass = NSClassFromString("_UICustomBlurEffect") {
    // set up blur view
}

避免在不受支持的设备上崩溃。