在声明的方法之外更新完成处理

时间:2014-10-02 16:28:46

标签: ios objective-c completion-block

我一直在尝试各种解决方案,以便从handlermethodTwo获取methodThree的更新值。代码以methodOne()开头,后跟methodTwo()。如何处理这个难题?

这些方法在静态库中声明。它的参考实现,即SampleApp.xcodeproj正在调用methodOne(),它在静态库的头文件中公开。

我已查看 KVO NSNotificationCenter ,但似乎方向不正确。

-(void)methodOne: completion:(void (^)(BOOL success))handler {
    // Step 1
    // Open view controller from PayPal-iOS-SDK
    // BOOL = handlerStatus;

    if (handler != nil)
        handler(handlerStatus);
}

-(void)methodTwo {
    // Step 2   
    // Delegate method from PayPal-iOS-SDK (executed after methodOne())
    // Generates a code which needs to be sent to server to get success/fail
    // Call methodThree to update handlerStatus 
}

-(NSString*) methodThree {
    // Step 3
    // Returns success/fail i.e. handler value
    // Network call (sending code to server)
}

更新

我想使用完成处理程序,因为它不起作用。我必须使用委托作为消息传递协议来解决此问题。

0 个答案:

没有答案