问题是我是iPhone和Objective C开发的新手,我想知道完成任务后调用某个函数的最佳方法是什么。
在我的应用程序中,我所做的是使用一些vars加载Internet托管的XML。为此,我创建了这个由主视图调用的函数:
ApplicationVariablesLoader * loader = [[ApplicationVariablesLoader alloc] initWithURL:CONFIG_URL];
其中CONFIG_URL是具有有效NSString(XML url)的常量
这个类解析XML并提取变量,但问题是,如何判断该过程已完成并可以继续?
我的第一个想法是在解析器类(ApplicationVariablesLoader)中创建一个视图实例作为委托,但我想遵循最佳实践。
谢谢!
答案 0 :(得分:0)
正确的方法是使用ApplicationVariablesLoaderDelegate
之类的(可能是可选的)方法创建一个名为- (void)variablesLoaderDidFinishParsing:(ApplicationVariablesLoader *)variablesLoader
的协议,然后添加类似
@property (nonatomic, assign) id< ApplicationVariablesLoaderDelegate > delegate;
将相应的成员变量添加到ApplicationVariablesLoader
的实现中。完成后,ApplicationVariablesLoader
应检查[self.delegate respondsToSelector:@selector(variablesLoaderDidFinishParsing:)]
,如果已实施,请致电[self.delegate variablesLoaderDidFinishParsing:self]
。
您的观点应该实现variablesLoaderDidFinishParsing
,并在那里做任何您想做的事。
有关更多示例,请查看UIWebViewDelegate
,UITextFieldDelegate
,NSXMLParserDelegate
等。