目标c-如何在iOS编程中调用代理?如果我从不调用应用程序,它怎么知道代码应该何时运行



我在理解iOS编程中的委托时遇到了很多困难。当我在代码中编写委托时,它什么时候被调用?我该怎么称呼它?如果我不称之为它本身,它怎么知道它应该在什么时候运行?

我觉得自己像个白痴,但在这一点上我读了一些教程,我就是无法理解这个概念。

对于我正在尝试处理的一些代码,请参阅我的代码回复:我如何引用我刚刚在iOS中拍摄的图片?

如果有其他问题,请理解您没有调用委托。提供委托的类将在适当的时候调用您的方法。您提供委托方法并告诉该类您是它的委托。就这样。当类准备好时,它将调用您实现的委托方法。

在图像拾取控制器的情况下,一旦用户选择或拍照,它将调用您的imagePickerController:didFinishPickingMediaWithInfo:方法。如果用户取消,它将调用您的imagePickerControllerDidCancel:方法。

只需确保在图像选取器控制器实例中设置了delegate属性,这样它就知道准备好后该联系谁。

更新-在UIImagePickerController的实现中,有如下代码:

// The user has taken a picture, tell the delegate
if ([self.delegate respondsToSelector:@selector(imagePickerController:didFinishPickingMediaWithInfo:)]) {
    [self.delegate imagePickerController:self didFinishPickingMediaWithInfo:infoDictionary];
}

在这种情况下,self.delegate是您的类实例。

相关内容

最新更新