AppDelegate может не отвечать на «делегат» - PullRequest
1 голос
/ 02 октября 2011

Я получаю сообщение об ошибке «MillersAppAppDelegate» может не отвечать на «делегат».Я все еще изучаю все это, но не совсем понимаю, потому что я читал, что это обычно происходит, когда метод не объявлен в заголовочном файле.Я использую XCode 4. Вот часть кода, на которую я смотрю:

#import <UIKit/UIKit.h>

@interface MainViewController : UIViewController {    
}
-(IBAction) contactButtonClick:(id)sender;

@end

А вот файл .m:

#import "MainViewController.h"
#import "MillersAppAppDelegate.h"
#import "ContactViewController.h"

@implementation MainViewController

-(IBAction) contactButtonClick:(id)sender{
    MillersAppAppDelegate *delegate = [(MillersAppAppDelegate *)[UIApplication     sharedApplication] delegate]; <---this line gets the warning "'MillersAppAppDelegate' may not respond to 'delegate'"
    ContactViewController *contactView = [[ContactViewController     alloc]initWithNibName:@"ContactViewController" bundle:nil];
    [delegate switchViews:self.view toView:contactView.view];
}

Программа работает нормально, но яУ меня есть несколько других действий с одинаковыми предупреждениями (все они касаются переключателей вида).Спасибо за помощь, я уверен, что это простой ответ, но я все еще новичок.Это также может быть проблемой между XCode3 и XCode 4?

1 Ответ

5 голосов
/ 03 октября 2011

Попробуйте

(MillersAppAppDelegate *)[[UIApplication sharedApplication] delegate];

вместо:)

Вы хотите разыграть [[UIApplication sharedApplication] delegate] на MillersAppAppDelegate.

Вы случайно наложили sharedApplication на MillersAppAppDelegate

...