如何在swift中实现指针的功能

时间:2017-05-23 18:56:22

标签: ios swift closures

 #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

上面的示例是我在Objective-C中的代码

  • " myMethod1"(响应)的回调阻止参考/存储到" dataBlock"属性。
  • 然后调用" dataBlock"来自" myMethod2"。
  • 自" datablock"参考" myMethod1"块名为"响应",我将回复" myMethod1",请查看代码片段(类似于指针的功能)。
  • 同样的事情我想在swift中实现。我尝试使用闭包快速实现它,但没有得到它。

2 个答案:

答案 0 :(得分:2)

不,没有,除非是在Jailbroken设备上。

Apple不允许第三方应用改变手机的核心行为。

现在你可以将手机放入法拉第笼中并在内外放置天线,并在想要阻止呼叫时断开它们。

答案 1 :(得分:1)

实际上你可以,但不是真正的iOS编程。如果BLE设备实现了HID配置文件,那么您可以模拟双击锁定按钮,这将解除呼叫。我已经做到了,但这是一个笨重的解决方案。