1

上記のタイトルについて多くのグーグル検索を行いましたが、必要な解決策を得ることができませんでした。サービス呼び出しに静的ライブラリを使用する ARC のプロジェクトがあります。クリック ログイン ボタンの資格情報がライブラリに渡され、ログイン ビュー コントローラーへの応答を取得すると、ここで問題が発生します。リクエストを送信するView Controllerにデータを渡すことができません。エラーが発生するコードは次のとおりです。

- (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 クラスであることに気付きませんでした。ここで行っていることには論理的なエラーがあります。

UIViewController ではなく、NSObject タイプのクラス MobileWebMethods を作成しました。必要なのは、このファイルをインポートしてそのインスタンスを作成するために別の 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 に答える