1

我已经对上面的标题进行了很多谷歌搜索,但无法获得我想要的解决方案。我有一个使用静态库进行服务调用的 ARC 项目。当单击登录按钮凭据被传递到库并获得对登录视图控制器的响应时,这就是问题发生的地方。我无法将数据传递给发送请求的视图控制器。这是发生错误的代码:

- (void)loginResult:(LoginData *)logData {
   [viewCtrl loginResult:logData]; ->No Visible @Interface for 'UIViewController' declares the selector 'loginResult:'
}

在 .h 中(静态库类)

#import <UIKit/UIKIt.h>
@interface MobileWebMethods : NSObject {
    UIViewController *viewCtrl;
}
@property (nonatomic, retain) UIViewController *viewCtrl;
- (void)loginResult:(LoginData *)logData;
4

3 回答 3

1

抱歉,我没有注意到它是一个 NSObject 类,你正在做的事情有一个逻辑错误。

您已经创建了一个类 MobileWebMethods,它是 NSObject 类型,而不是 UIViewController。您需要在单独的 viewController 中导入此文件并创建它的实例:

MobileWebMethods *webMethods = [[MobileWebMethods alloc] init];

然后调用:

[webMethods loginResult: ... ];
于 2013-05-09T14:39:46.627 回答
0

尝试这个,

objc_msgSend(viewCtrl, @selector(loginResult:),logData);
于 2013-05-09T14:39:36.977 回答
0

实际上我发现你的代码很混乱,你接口了一个MobileWebMethods我认为是模态的类,在这个模态中,你有一个名为 UIViewController 的属性,viewCtrl它是一个控制器,我很好奇,你为什么这样做而不是遵守 Modal-Controller-View 的规则?而且我认为如果您创建 UIViewController 的子类并且在此控制器内您可以创建一个名为的属性模态MobileWebMethods,这会不会更好?

于 2013-05-09T14:52:23.830 回答