从另一个类调用控制器函数

时间:2014-06-02 13:25:41

标签: ios objective-c ipad

我有一个问题:

我有一个名为Login.xib的当前打开控制器,它有方法showErrorPopup,当来自服务器的数据表明登录或密码错误或没有互联网时,应该触发该方法。

但问题是我的Web请求是在其他类文件中处理的 - DataServices.m

问题是,如何从其他类文件触发showErrorPopup?

2 个答案:

答案 0 :(得分:2)

您可以在DataServices.m中设置控制器。在DataServices.m中声明类型为“Login”的un变量,如:

@property (nonatomic) Login *myLogin;

然后当你调用DataServices时:

DataServices *aDS = [[DataServices alloc] init];
aDS.myLogin  = self; //if you call from Login.

然后,在DataServices中的函数中。

-(void)myFunction {
if (self.myLogin && [self.myLogin respondToSelector:@"afunction"]) { 
    [self.myLogin performselector:@"afunction"]; 
//...
}

希望有所帮助。

答案 1 :(得分:1)

干酪 您可以在DataServices中存储Login类的实例。所以你可以通过举例来调用ShowErrorPopUp:[self.loginInstance showErrorPopUP]