簡體   English   中英

iOS Swift:init不被解雇嗎?

[英]iOS Swift: init not being fired?

我有一堂簡單的課:

import UIKit

class BTManager: NSObject{

    var allowTX = false

    override init(){
        super.init()
        print("Init BTManager")
        NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("connectionChanged:"), name: BLEServiceChangedStatusNotification, object: nil)
        btDiscoverySharedInstance
    }

    func connectionChanged(notification: NSNotification) {
        // Connection status changed. Indicate on GUI.
        let userInfo = notification.userInfo as! [String: Bool]

        dispatch_async(dispatch_get_main_queue(), {
            // Set image based on connection status
            if let isConnected: Bool = userInfo["isConnected"] {
                if isConnected {
                    self.allowTX = true
                    variables.connected = true
                } else {
                    self.allowTX = false
                    variables.connected = false
                }
            }
        });
    }

    func sendSerial(serial: String) {
        // 1
        if !allowTX {
            return
        }

        if let bleService = btDiscoverySharedInstance.bleService {
            bleService.sendSerial(serial)
        }
    }
}

(不要介意btDiscoverySharedInstance,那是另一個類)

當我調用var foo = BTManager() ,在控制台中看不到“ Init BTManager”。 這是為什么? 我不知道為什么這行不通...

我從結構調用初始化器-顯然swift不喜歡那樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM