0

アプリに簡単な問題があると思います。まず、PraseSDKが提供するLoginViewを使用するためにPraseSDKを使用しています。

次に、その関数を作成して、ビューコントローラーによって呼び出されるようにしました。

-(void) viewDidLoad

それは完璧に機能しました。

今、私はそのコードをグローバル関数クラスに入れることができるかどうか疑問に思っていましたか?

さて、私はというクラスを作成しました:glo_function その中に私は呼び出す関数を作成しました

+(void) CallLoginScreen{
PFLogInViewController *login = [[PFLogInViewController alloc] init];
login.fields = PFLogInFieldsUsernameAndPassword | PFLogInFieldsLogInButton;
 [self presentModalViewController:login animated:NO];}

My ViewController Iamで、このような「callLoginScreen」を使用しています

[glo_function CallLoginScreen]

メソッドはViewControllerによって呼び出されますが、ビューは表示されません。エラーが発生すると、アプリを実行しようとします。

No known class method for selector 'presentModalViewController:animated:'

だから私はかなり確信していますそれは私が「自己」を使ったという事実に関係しています->

[self presentModalViewController:login animated:NO]

誰かがそれを手伝ってくれる?簡単なはずです、うまくいけば:)

- - - - - - - - - - - -応答 - - - - - - - - - - - - - --------

こんにちは、私がそれをした後、アプリがクラッシュします。Callメソッドは次のようになります。

    [glo_function showLoginScreenUsingViewController];

glo_function.mでは、メソッドは次のようになります。

+ (void)showLoginScreenUsingViewController:(UIViewController *)VC {
PFLogInViewController *login = [[PFLogInViewController alloc] init];
login.fields = PFLogInFieldsUsernameAndPassword | PFLogInFieldsLogInButton;
[VC presentModalViewController:login animated:NO];}

アプリ起動時の結果:

2012-12-28 21:20:24.003 Logbuch40[1942:c07] 
*** Terminating app due to uncaught exception 'NSInvalidArgumentException'
, reason: '+[glo_function showLoginScreenUsingViewController]: 
unrecognized selector sent to class 0x22e9ec
4

1 に答える 1

2

「自己」は常にあなたがいるオブジェクトを指します。あなたの場合、それはglo_functionオブジェクトです。ですから、あなたが自分自身と言うとき、あなたは間違った物と話しているのです。

それでもやりたいことができますが、glo_functionメソッドでは、ViewControllerへの参照を渡す必要があります。次に、自分自身の代わりに関数でそれを使用します。

+ (void)showLoginScreenUsingViewController:(UIViewController *)VC {
     PFLogInViewController *login = [[PFLogInViewController alloc] init];
     login.fields = PFLogInFieldsUsernameAndPassword | PFLogInFieldsLogInButton;
     [VC presentModalViewController:login animated:NO];
}
于 2012-12-28T14:13:43.207 に答える