我一直在尝试各种解决方案,以便从handler
和methodTwo
获取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)
}
更新
我想使用完成处理程序,因为它不起作用。我必须使用委托作为消息传递协议来解决此问题。