Я занимаюсь созданием приложения с использованием нескольких контроллеров представлений. В простой, ViewController 1 (1) - домашний экран (2) - экран для подключения к BlueTooth каналу (3) - управление организацией BluetoothСоздание синглета для bluetooth в swift 3
Этот совет от других я создал новый класс, который будет выступать в качестве одноэлементных и я могу контролировать всю активность Bluetooth оттуда. (4) не является контроллером вида, а только одним синглетным классом, который будет использоваться для управления bluetooth, а также позволит функциональности отправлять данные.
Я пытаюсь сделать синглтон и делать базовые вещи для bluetooth, но я борюсь.
Я смотрю пример последовательного подключения Bluetooth, но я не понимаю, что там происходит.
На данный момент мой No.4 код выглядит следующим образом:
import UIKit
import CoreBluetooth
class BLEControl : CBCentralManagerDelegate, CBPeripheralDelegate
{
static let BLESingleton = BLEControl()
private init(){}
//MARK: variables
var manager: CBCentralManager?
var pendingPeripheral: CBPeripheral?
var connectedPeripheral: CBPeripheral?
//MARK: End
}
сделать основной бит, который должен проверить, если Bluetooth центральный включен, как бы я это сделать. И как бы я связать его между экраном (2) и (4)
большое спасибо
Эй, idocode, я не могу понять, как это можно назвать. Итак, если бы я хотел использовать синглтон из (4) на экране (2), мне нужно было бы вызвать BLEControl в классе для (2)? –
получил его, чтобы использовать control.singleton.manager. Однако, чтобы оставаться в одной точке, если бы я хотел проверить состояние питания на экране (1), я делаю func (centralManagerDidUpdateState) в (4) или (1). Я понимаю, что вы сделаете это в (4) и каким-то образом назовете его в (1), но я не знаю, как его назвать (1). У меня нет такой опции, когда я делаю control.singleton.manager –
'centralManagerDidUpdateState' представляется методом делегата. Установите сам singleton-класс как делегат. Затем внутри метода centralManagerDidUpdateState выдает уведомление при каждом обновлении состояния. Все это будет сделано в (4). Теперь любой другой контроллер класса/вида (2) может добавить себя в качестве наблюдателя к уведомлению, выпущенному из класса Singleton. Просто не забудьте удалить наблюдателя – idocode