Re-initialize a lazy initialized variable in Swift

前端 未结 7 814
没有蜡笔的小新
没有蜡笔的小新 2020-12-04 11:08

I have a variable that initialized as:

lazy var aClient:Clinet = {
    var _aClient = Clinet(ClinetSession.shared())
    _aClient.delegate = self
    return          


        
7条回答
  •  情深已故
    2020-12-04 11:38

    This allows setting the property to nil to force reinitialization:

    private var _recordedFileURL: NSURL!
    
    /// Location of the recorded file
    private var recordedFileURL: NSURL! {
        if _recordedFileURL == nil {
            let file = "recording\(arc4random()).caf"
            let url = NSURL(fileURLWithPath: NSTemporaryDirectory()).URLByAppendingPathComponent(file)
            NSLog("FDSoundActivatedRecorder opened recording file: %@", url)
            _recordedFileURL = url
        }
        return _recordedFileURL
    }
    

提交回复
热议问题