2017-05-23 3 views
0
#import "ViewController.h" 

    @interface ViewController() 

    //Declare block as property 

    @property (nonatomic, strong) void (^dataBlock)(BOOL success); 

    @end 

    @implementation ViewController 

    - (void) myMethod1:(void (^)(BOOL success))response { 

     //Here data block holds the reference to response block 

     _dataBlock = response;  
    } 

    - (void) myMethod2 { 

     //Check for _dataBlock and invoke it. 

     if (_dataBlock) {  
      _dataBlock(YES); 
     }  
    } 

    - (IBAction) buttonClick { 

    //Call for myMethod1 and call back block is invoked in myMethod2 

     [self myMethod1:^(BOOL success) { 

      if (success) { 
       NSLog(@"Im Done"); 
      }  

     }]; 
    } 
    @end 

Above Probe auf Zeiger ist mein Code in Objective-CWie Funktion implementieren in schnellen

  • Rückruf Block "myMethod1" (Antwort) ist mit Verweis/gespeichert "Datenblock" Eigentum.
  • dann "DataBlock" von "myMethod2" aufrufen.
  • seit "Datenblock" Verweis auf "myMethod1" Block namens "Antwort", ich werde Rückruf in "myMethod1" bekommen, bitte schauen Sie sich das Code-Snippet (ähnlich wie Zeiger).
  • gleiche Sache, die ich in swift implementieren möchte. Ich habe versucht, dies zu implementieren, indem ich Schließungen schnell einsetzte, aber nicht bekam.

Antwort

2

Nein, gibt es nicht, es sei denn, es ist auf einem Jailbroken-Gerät.

Apple lässt Apps von Drittanbietern das Kernverhalten des Telefons nicht ändern.

Jetzt können Sie setzen Sie das Telefon in einem Faraday-Käfig und setzen Sie Antennen innen und außen, und trennen Sie sie, wenn Sie Anrufe blockieren wollten.

+0

Danke für die Antwort. –

1

Eigentlich kann man irgendwie, aber nicht wirklich programmatisch von iOS. Wenn das BLE-Gerät das HID-Profil implementiert, können Sie einen Doppelklick auf den Sperrknopf simulieren, der den Anruf abbricht. Ich habe das gemacht, aber es ist eine klobige Lösung.

+0

Danke, können Sie eine Lösung teilen, wenn möglich. –

+0

Werfen Sie einen Blick auf http://www.usb.org/developers/hidpage/Hut1_12v2.pdf Verbraucherseite (0x0C), Verwendungs-ID 0x30 – Anton