Iphone 解析完XML后启动事件/委托

Iphone 解析完XML后启动事件/委托,iphone,objective-c,delegates,Iphone,Objective C,Delegates,问题是我对iPhone和Objective C开发是新手,我想知道完成任务后调用函数的最佳方式是什么 在我的应用程序中,我要做的是加载一个带有一些变量的internet托管XML。为此,我创建了由主视图调用的函数: ApplicationVariablesLoader*loader=[[ApplicationVariablesLoader alloc]initWithURL:CONFIG_URL] 其中,CONFIG_URL是一个常量,其中包含一个有效的NSString,即XML URL 这个类

问题是我对iPhone和Objective C开发是新手,我想知道完成任务后调用函数的最佳方式是什么

在我的应用程序中,我要做的是加载一个带有一些变量的internet托管XML。为此,我创建了由主视图调用的函数:

ApplicationVariablesLoader*loader=[[ApplicationVariablesLoader alloc]initWithURL:CONFIG_URL]

其中,CONFIG_URL是一个常量,其中包含一个有效的NSString,即XML URL

这个类解析XML并提取变量,但问题是,我如何告诉视图这个过程已经完成并可以继续

我的第一个想法是在解析器类ApplicationVariablesLoader中创建一个视图实例作为委托,但我希望遵循最佳实践


谢谢

正确的方法是创建一个名为ApplicationVariablesLoaderDelegate的协议,使用一个可选方法,如-voidvariablesLoaderDidFinishParsing:ApplicationVariablesLoader*variablesLoader,然后添加

@属性非原子,分配iddelegate

将相应的成员变量添加到ApplicationVariablesLoader的实现中。ApplicationVariablesLoader应在完成后检查[self.delegate respondsToSelector:@selectorvariablesLoaderDidFinishParsing:],如果已实现,则调用[self.delegate variablesLoaderDidFinishParsing:self]

您的视图应该实现variablesLoaderDidFinishParsing,并在那里执行您希望它执行的任何操作


查看UIWebViewDelegate、UIExtFieldDelegate、NSXMLParserDelegate等,了解更多示例。

我发现这个链接也很有趣: