0

わかりました、これは非常に基本的な質問かもしれません。そうである場合はお詫びしますが、それは私を怒らせ、私は本当により良い理解を得る必要があります。

私が開発しているアプリがあり、ページごとに新しいViewControllerとxibファイルを使用しています。

私はこのコードを使用して各ページを呼び出します:-

HelpVC = [[[HelpViewController alloc] initWithNibName:@"HelpViewController" bundle: [NSBundle mainBundle]]autorelease];
[self presentModalViewController:HelpVC animated:YES];

これはうまくいきます。

ただし、これをファイルで宣言していて、それを別の場所で呼び出したい場合は、至る所でエラーが発生します。

最初にクラスファイルですべてのxibファイルを初期化し、必要に応じてそのファイルからそれらを呼び出す方法はありますか?

ありがとう

これは私が返すエラーです

エラー:「UserInputViewController」の前にspecifier-qualifier-listが必要です

.hファイル内のすべての宣言が上記のメッセージでエラーになるようです。

いくつかのサンプルコードは次のとおりです。-

.hファイル

#import <UIKit/UIKit.h>
#import "CgePWViewController.h"
#import "LogBackInViewController.h"
#import "LoginViewController.h"

@interface SettingsViewController : UIViewController
{
    CgePWViewController *cPWVC;
    LogBackInViewController *LBIVC;
    LoginViewController *login;
}

@property(nonatomic, retain) CgePWViewController *cPWVC;
@property(nonatomic, retain) LogBackInViewController *LBIVC;
@property(nonatomic, retain) LoginViewController *login;

したがって、基本的に、LoginViewControllerに追加するとすぐに、他のすべてのエラーが発生します。これを削除すると、アプリは完全に実行されます。

4

2 に答える 2

1

LoginViewController.hはSettingsViewControllerもインポートしますか?これは「相互参照」のようです(この用語がポルトガル語のように英語で意味があるかどうかはわかりません)。

あなたの前に

@interface SettingsViewController : UIViewController

置く

@class LoginViewController;

それが役立つかどうかを確認します。

于 2012-08-06T18:41:40.137 に答える
0

ビューコントローラを初期化してプロパティに配置しないでください。代わりに、必要に応じてすぐに作成してください。

誰かがボタンを押したときにViewControllerを表示したいとします。このメソッドをViewControllerに追加します(名前が付けられていると仮定しますMyFirstViewController)。

- (IBAction)someButtonDidPush: (UIButton *)sender {
    MySecondViewController *vc = [[MySecondViewController alloc] init];

    // Do stuff and then show it. One way may be like this:
    [self presentViewController: vc animated: YES completion: nil];
}

上記の方法でボタンを接続するだけです。プロパティは必要ありません!あなたは(おそらく)終わった。

于 2012-08-06T18:45:14.017 に答える