1

ここでこの問題を解決できないようです。何を変更する必要があるか考えていますか?Xcode 4.2 を使用しています。

エラー: AppDelegate.m:23:6: エラー: インスタンス メッセージのレシーバー タイプ 'AppDelegate' は、セレクター 'setupHUD' を使用してメソッドを宣言していません [4]

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];

    LoginViewController *loginVC = [[LoginViewController alloc] init];
    UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:loginVC];
    navCon.navigationBarHidden = YES;
    self.window.rootViewController = navCon;
    [self setupHUD];

    [self.window makeKeyAndVisible];
    return YES;
}


- (void) setupHUD
{
    //setup progress hud
    self.HUD = [[MBProgressHUD alloc] initWithFrame:self.window.bounds];
    [self.window addSubview:self.HUD];
    self.HUD.dimBackground = YES;
    self.HUD.minSize = CGSizeMake(150.f, 150.f);
    self.HUD.delegate = self;
    self.HUD.isCancelButtonAdded = YES;
    self.HUD.labelText = @"Loading";
}
4

1 に答える 1

1

Xcode 4.3 より前では、同じブロック内で呼び出される宣言メソッドを転送する必要があるため、クラス拡張 ( で始まる AppDelegate.m 内の宣言のリスト) または AppDelegate のブロックのいずれか@implementationに の宣言を必ず追加してください。 h.setupHUD@interface AppDelegate ()@interface

たとえば、AppDelegate.m では次のようになります。

@interface AppDelegate ()
// Other declarations...
- (void)setupHUD;
@end

または AppDelegate.h で:

@interface AppDelegate : NSObject <UIApplicationDelegate>
// Other declarations
- (void)setupHUD;
@end
于 2013-11-07T05:34:50.627 に答える