2013-10-11 37 views
0

我有一個導航控制器,它有一個根視圖控制器和兩個tableview控制器。當我將第一個tableview控制器推入堆棧時,cbcentralmanager掃描BLE外圍設備,並且一切正常。但是,當我將第二個tableview控制器推入堆棧,然後將其彈出(返回到第一個tableview控制器)時,cbcentralmanager掃描,但沒有發現任何設備。這是第一個tableview控制器的代碼。每次顯示tableview控制器時,viewWillAppear方法都會按預期方式調用,但掃描不會顯示任何內容。CBCentral manager沒有發現外設

- (void)viewWillAppear:(BOOL)animated 
{ 
[super viewWillAppear:animated]; 

[AppDelegate app].cbCentral.delegate = self; 
[AppDelegate app].peripheral.delegate = self; 
[AppDelegate app].brspObject.delegate = self; 

peripherals = [NSMutableArray new]; 
[self startScan]; 
} 

- (void)startScan 
{  
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 
[peripherals removeAllObjects]; 
[self.tableView reloadData]; 

[[AppDelegate app].cbCentral scanForPeripheralsWithServices:[NSArray arrayWithObject:[Brsp brspServiceUUID]] options:nil]; 

[self performSelector:@selector(stopScan) withObject:nil afterDelay:5.0]; 
} 

我一直在過去設置適當的代表難住,但我想我已經把我所有的基地都包括在這裏了。有什麼想法嗎?

回答

0

我不知道爲什麼這個工作,但我感動的幾行代碼:

[AppDelegate app].cbCentral.delegate = self; 
[AppDelegate app].peripheral.delegate = self; 
[AppDelegate app].brspObject.delegate = self; 

的 - (空)startScan方法,而現在它的工作原理。