【发布时间】:2014-07-14 22:42:34
【问题描述】:
我有一个实现协议的文件和另一个调用该协议的文件
//
// DeviceBLE.swift
//
import Foundation
import CoreBlueTooth
import QuartzCore
import UIKit
class DeviceBLE: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate {
var centralManager : CBCentralManager!
init() {
super.init()
centralManager = CBCentralManager(delegate: self, queue: nil)
}
func centralManagerDidUpdateState(central: CBCentralManager!){
// Determine the state of the peripheral
if (central.state == .PoweredOff) {
println("CoreBluetooth BLE hardware is powered off")
}
else if (central.state == .PoweredOn) {
println("CoreBluetooth BLE hardware is powered on and ready")
// connectPeripheral(_ peripheral: CBPeripheral!,
// options options: [NSObject : AnyObject]!)
}
else if (central.state == .Unauthorized) {
println("CoreBluetooth BLE state is unauthorized")
}
else if (central.state == .Unknown) {
println("CoreBluetooth BLE state is unknown")
}
else if (central.state == .Unsupported) {
println("CoreBluetooth BLE hardware is unsupported on this platform")
}
}
}
这是调用文件
// ViewController.swift
// BleTest
import Foundation
import CoreBlueTooth
import QuartzCore
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var myBle = DeviceBLE()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
问题是当 DeviceBle 被实例化时,centralManagerDidUpdateState 永远不会被调用。我不明白我做错了什么。有人可以帮忙吗?
【问题讨论】:
标签: swift