ios - 如何从 swift singleton init 抛出错误/异常

标签 ios swift swift2

在我的自定义 swift 框架中,我有一个最终用户将使用的单例类。单例 init() 做了很多工作,如果初始化期间出现任何问题,我想抛出错误。

mySingleton.swift

public class mySingleton: NSObject {
    .......
    public static let sharedInstance = mySingleton(singleton : true)
    ....
}

private override convenience init() {
    assertionFailure( "Please use sharedInstance" )
    self.init(singleton : false)
}

private init(singleton: true) {
    super.init()

    //Other class objects init() etc.

   //Some other processing etc.

}

框架用户:

//Initialise framework
mySingleton.sharedInstance

在 mySingleTon 初始化过程中向最终用户抛出错误/异常的最佳方法是什么。

最佳答案

你真的应该认真思考一下你的意图是什么。

单例创建一次并在应用程序的其余部分保持事件状态。如果创建单例失败,您的应用程序将做什么?当我使用单例时,它们必须成功。如果不这样做,我的应用程序将无法运行。

如果创建单例失败,那么最好是生成一个断言来终止应用程序。另一方面,在许多有问题的情况下(例如缺少网络连接),单例的创建不应失败

关于ios - 如何从 swift singleton init 抛出错误/异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37410192/

相关文章:

iphone - 在 IOS 中集成 xPDF? (可行性检查)

ios - 无法打开文件 “***.app”,因为您没有查看它的权限

swift - 获取 Playground 以显示所有循环结果

ios - 如何使用 Swift 以编程方式粘贴图像?

ios - Swift,当 Core Animation 完成时

ios - 在 Swift 中使用正则表达式验证 RGB 字符串

cocoa-touch - 如何防止多次快速点击 UITableView 的编辑按钮导致应用程序崩溃?

swift - 我需要在快速动态创建的单元格之间添加一个空格

ios - 持久化存储,在 iOS Swift 中存储一组键值对

ios - 在 Xcode Project 中查找本地视频的路径