具有Swift 3属性的单身人士

前端之家收集整理的这篇文章主要介绍了具有Swift 3属性的单身人士前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Apple的 Using Swift with Cocoa and Objective-C document(更新为Swift 3)中,他们给出了以下Singleton模式的例子:
class Singleton {
    static let sharedInstance: Singleton = {
        let instance = Singleton()

        // setup code

        return instance
    }()
}

我们假设这个单例需要管理一个变量数组的字符串。如何/我将在哪里声明该属性并确保它被正确初始化为一个空的[String]数组?

你可以这样初始化一个空数组。
class Singleton {

    //MARK: Shared Instance

    static let sharedInstance : Singleton = {
        let instance = Singleton(array: [])
        return instance
    }()

    //MARK: Local Variable

    var emptyStringArray : [String]

    //MARK: Init

    init( array : [String]) {
        emptyStringArray = array
    }
}

或者如果你喜欢不同的方法,这个会做的很好。

class Singleton {

    //MARK: Shared Instance

    static let sharedInstance : Singleton = {
        let instance = Singleton()
        return instance
    }()

    //MARK: Local Variable

    var emptyStringArray : [String]? = nil

    //MARK: Init

    convenience init() {
        self.init(array : [])
    }

    //MARK: Init Array

    init( array : [String]) {
        emptyStringArray = array
    }
}
原文链接:https://www.f2er.com/swift/320725.html

猜你在找的Swift相关文章