SwiftMessages Exec Bad Access 使用 SwiftMessages.defaultConfig

标签 swift swiftmessages

我尝试在我的 Swift iOS 项目中使用 SwiftMessages

SwiftMessages 已在 6.0 版本中与 pod 一起安装

当我使用这样的示例代码时:

    let error = MessageView.viewFromNib(layout: .cardView)
    error.configureTheme(.error)
    error.configureContent(title: "Error", body: "Something is horribly wrong!")
    error.button?.setTitle("Stop", for: .normal)
    SwiftMessages.show(view: error)

到目前为止,没问题!

但是当我尝试像这样使用 SwiftMessages.Config()SwiftMessages.defaultConfig 时:

    let warning = MessageView.viewFromNib(layout: .cardView)
    warning.configureTheme(.warning)
    warning.configureDropShadow()

    let iconText = ["🤔", "😳", "🙄", "😶"].sm_random()!
    warning.configureContent(title: "Warning", body: "Consider yourself warned.", iconText: iconText)
    warning.button?.isHidden = true
    var warningConfig = SwiftMessages.defaultConfig
    warningConfig.presentationStyle = .top
    //warningConfig.presentationContext = .window(windowLevel: UIWindow.Level.statusBar)
    SwiftMessages.show(config: warningConfig, view: warning)

我在 SwiftMessages.show(config: warningConfig, view: warning) 上获得了一个 Exec Bad Access

此外,它无法识别属性 presentationContext,这就是我的代码中该行位于注释中的原因。但是这里列出了此属性:https://github.com/SwiftKickMobile/SwiftMessages

那么,是我的代码有问题,还是框架内部有错误?

最佳答案

听起来您的应用是在 Swift 4.1 或更低版本上运行的。 Swift兼容性如下:

  • Swift 4.2 -> SwiftMessages 6
  • Swift 4.1 或更低版本 -> SwiftMessages 5

关于SwiftMessages Exec Bad Access 使用 SwiftMessages.defaultConfig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52668005/

相关文章:

swift - 如何停止加载容器直到执行父 View Controller 代码?

ios - Swift 中的 NSUserDefaults 不会按照我的代码当前的方式保存我的数据。我的问题是什么?

swift - 为更复杂的协议(protocol)键入删除

ios - 如何使用 Sqlite.swift 获取列名列表?

swift - 如何在 Swift 中导入没有 Xcode 项目的模块

ios - 如何以编程方式从 UIVIew 呈现 View Controller