iOS:使用corebluetooth库从不同的视图控制器进行通信

时间:2015-01-26 07:25:51

标签: ios objective-c core-bluetooth

我在做corebluetooth应用程序。并使用corebluetooth framework.i开发了库。有4个视图控制器。在第一个视图控制器中,当我点击扫描按钮时,我有扫描按钮第二个屏幕出现扫描设备,这些设备出现在tableview中。当我点击表格视图外围设备连接并提供其信息,如服务和charactestics。当我回到第一个视图控制器时,我有一个叫做电池状态的按钮,当我点击该按钮时,它应该从连接的第二个视图控制器调用电池信息外围。 以下是我在第二个视图控制器中的代码

     -(void)viewdidload
     { coreBle = [[CoreBLE alloc] init];   
     coreBle.delegate = self;
      }

用于连接设备

        - (IBAction)Go:(id)sender
      {
     if (periperal==nil) {
     UIAlertView *alert=[[UIAlertView alloc]initWithTitle:nil    
     message:@"Select watch to connect"
                                                delegate:self   
     cancelButtonTitle:@"Ok" otherButtonTitles: nil];
    [alert show];
      }
    else{

   [coreBle connectToPeripheralAt:[periperal integerValue]];
    NSLog(@"peripheral connected is %@",periperal);
    HUD.labelText = @"Connecting...";

    [HUD showWhileExecuting:@selector(connectingtask) onTarget:self 
    withObject:nil animated:YES];

     }

     }

将外围设备从索引路径值的选择行连接到下面

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

    {

   deviceselected= [NSString stringWithFormat:@"Table cell pressed.   
   (%d)", indexPath.row];
   periperal=[NSString stringWithFormat:@"%d",indexPath.row];
    }

上面的代码用于连接第二个视图控制器中的外设。在第一个视图控制器中应该连接相同的外围设备。所以我可以从中检索值。请帮助我

1 个答案:

答案 0 :(得分:1)

为什么不在新类中单独将CoreBLE代码移动到单个实例。在四个viewcontrollers中只需调用相对方法来获取有关CoreBLE的信息。因为在你的ui操作中,你必须遵循四个视图控制器序列。