Чтение делегата из контроллера представления в приложении панели вкладок - PullRequest
1 голос
/ 12 ноября 2011

Я нашел несколько сообщений в Интернете, в которых сообщалось, что я могу получить доступ к своему объекту делегата приложения из любого контроллера представления с помощью следующего вызова:

[[UIApplication sharedApplicaton] delegate];

(Например: данные между представлениями UIApplication , iOS - вызов метода делегирования приложения из ViewController )

Однако, когда я включаю эту строку в функцию в одном из моих контроллеров представления, приложение вылетает.

Это первое приложение, которое я пишу, и я не вижу разницы между моим кодом и тем, как другие посты сказали, что я должен использовать этот вызов sharedApplication. Для полноты ниже приведена выдержка из моего делегата приложения и контроллера представления.

FirstViewController.h:

@class wStreamAppDelegate;
#define URL_ADDRESS @"http://google.com"

@interface FirstViewController : UIViewController <UIWebViewDelegate>{
    IBOutlet UIWebView  * webView;
wStreamAppDelegate* appDelegate;
}

@property(nonatomic,retain) wStreamAppDelegate* appDelegate;
@property(nonatomic,retain) IBOutlet UIWebView* webView;

FirstViewController.m:

#import "FirstViewController.h"
#import "wStreamAppDelegate.h"

@implementation FirstViewController
@synthesize webView,appDelegate;
@class wStreamAppDelegate;

- (void)viewDidLoad {
    [super viewDidLoad];
NSString* urlAddress = URL_ADDRESS;
NSURL* url = [NSURL URLWithString:urlAddress];
NSURLRequest * requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];

    self.appDelegate = (wStreamAppDelegate*)[[UIApplication sharedApplicaton] delegate];

    //This doesn't work either
    //  wStreamAppDelegate *appDelegate= (wStreamAppDelegate*)[[UIApplication sharedApplicaton] delegate];

wStreamAppDelegate.h:

@interface wStreamAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> {
   UIWindow *window;
   UITabBarController *tabBarController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;

@end

Если у кого-то есть мысли о том, что может пойти не так, общие советы по устранению подобных проблем или советы, я бы очень признателен. Спасибо.

1 Ответ

0 голосов
/ 12 ноября 2011

Опечатки получают все рано или поздно ... в этом случае вы пишете «sharedApplicaton» вместо «sharedApplication».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...