Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在另一个类中调用核心蓝牙协议?_Ios_Core Bluetooth - Fatal编程技术网

Ios 如何在另一个类中调用核心蓝牙协议?

Ios 如何在另一个类中调用核心蓝牙协议?,ios,core-bluetooth,Ios,Core Bluetooth,我开始使用核心蓝牙协议开发应用程序。应用程序可以扫描、连接/断开和控制设备。在ControlViewController中,我为设置部分添加了侧菜单(我使用了swrevealviewcontroller) 单击侧菜单时,将显示设置列表。当我单击其中一个设置时,它应该再次显示控制器部件,但带有一个设置弹出视图/警报视图 示例:在控制类中 菜单按钮>单击>出现的设置列表(另一个类)>单击其中一个设置>再次显示带有弹出窗口的控制器(带有“是”或“否”选项的警报视图) // 控制类 - (void)ce

我开始使用核心蓝牙协议开发应用程序。应用程序可以扫描、连接/断开和控制设备。在ControlViewController中,我为设置部分添加了侧菜单(我使用了swrevealviewcontroller)

单击侧菜单时,将显示设置列表。当我单击其中一个设置时,它应该再次显示控制器部件,但带有一个设置弹出视图/警报视图

示例:在控制类中 菜单按钮>单击>出现的设置列表(另一个类)>单击其中一个设置>再次显示带有弹出窗口的控制器(带有“是”或“否”选项的警报视图)

//

控制类

- (void)centralManagerDidUpdateState:(CBCentralManager *)central
{
    if (central.state != CBCentralManagerStatePoweredOn)
    {
        // In a real app, you'd deal with all the states correctly

        return;

    }

    [self scan];


    // The state must be CBCentralManagerStatePoweredOn...

    // ... so start scanning

}
//这就是我调用控制器类的地方 侧菜单视图控制器

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    if (indexPath.row == 1)
    {
        ControlViewController *controller =[[ControlViewController alloc]init];
        [controller setHighLow];
    }
}

我建议你使用单件模式,也许?一个设置类,它应该处理此类值,并且您的ViewController会询问它是否允许某些内容?如果您正在使用核心蓝牙,并且希望导航到另一个视图,请不要断开与设备的连接。您应该将Metro从类A调用到设置类,但请注意初始化CBCentralManager的位置,didUpdatePeripheral将被调用。我建议您使用singleton模式,也许?一个设置类,它应该处理此类值,并且您的ViewController会询问它是否允许某些内容?如果您正在使用核心蓝牙,并且希望导航到另一个视图,请不要断开与设备的连接。您应该将metho从类A调用到设置类,但请注意初始化CBCentralManager的位置,didUpdatePeripheral将被调用。