ios - NSClassFromString swift 2.0 返回的 nil 值

标签 ios swift

我在我的项目中使用以下代码在 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/

相关文章:

ios - View 不会显示在 Xcode 7/iOS 9 的表格 View 单元格上

ios - 段控制宽度 iOS 6

ios - AND 和 OR 与 NSPredicate 结合。 iOS swift

swift - 访问父属性

ios - 警报 Controller 不出现错误! Swift 项目

ios - 延迟显示一个字母

ios - 如何在 Swift 中指示 for 循环的键是 NSString?

ios - 有没有办法将ipa文件转换为xcode文件?

ios - NSNotification 未调用

ios - @IBInspectable 何时设置?