iOS swift : init not being fired?

标签 ios swift initialization

我有一个简单的类:

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 不喜欢这样。

关于iOS swift : init not being fired?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32125284/

相关文章:

ios - 在 Action 中设置按钮文本

c# - 在构造函数中返回一个新对象或初始化成员?

initialization - 带有 pgadmin 4 v3.0 问题的 Postgresql 10.4 - Windows 10 x64 用户的查询工具初始化错误

ios - UIImages 错误的自定义 UICollectionView

ios - 无法关闭 Swift 中的导航 Controller

iOS 黑色放大镜

c++ - 我应该如何正确地从 C++ 初始化 C 结构?

ios - 如何在 ios swift 中重新加载 TableView 的可见单元格

ios - 自定义操作表 IOS swift

swift - 解决 Swift 3 中缺少递归协议(protocol)约束的问题