我正在开发蓝牙 LE 应用程序。在我的ViewController
中,如果我按下操作按钮,我有一个操作按钮(搜索),可用的 BLE 设备名称列表显示在工作正常的表格视图中。现在我想访问TableViewCell
(如果我单击一个设备名称,则支持服务正在填充另一个ViewController
)以获取蓝牙低功耗设备支持的服务。我的问题是如何访问TableViewCell
(填充)中的设备名称以及如何从 BLE 获取支持的服务(例如警报、TxPwr、电池)。如果我单击一个单元格(设备名称),那么我想知道列表支持的服务。给我一个想法。设备是我的可变数组。我的问题是如何填充TableViewCell
到我的另一个ViewController
...
-(void)viewDidLoad
{
[super viewDidLoad];
peripheralManager=[[PeripheralManager alloc]init];
self.label.text = @""
[self.deviceTable reloadData];
device=[[NSMutableArray alloc]init];
}
表视图
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [device count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier=@"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell==nil)
{
cell =[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text=[device objectAtIndex:indexPath.row];
cell.accessoryType=UITableViewCellAccessoryDetailDisclosureButton;
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self performSegueWithIdentifier:@"TableDetails" sender:[device objectAtIndex:indexPath.row]];
//NSString *deviceName = [device objectAtIndex:indexPath.row];
//secondViewController *svController=[[secondViewController alloc] initWithNibName:@"SecondView" bundle:[NSBundle mainBundle]];
//svController.deviceName=deviceName;
//[self.navigationController pushViewController:svController animated:YES];
// svController=nil;
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"TableDetails"]) {
[segue.destinationViewController setDeviceName:(NSString *)sender];
}
}