Делегиране за четене от контролера за изглед в приложението за лента с раздели

Намерих няколко публикации онлайн, в които се посочва, че мога да получа достъп до делегирания обект на приложението си от всеки контролер на изглед чрез следното извикване:

[[UIApplication sharedApplicaton] delegate];

(Например: данни между Views 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

Ако някой има някакви мисли относно това какво може да се обърка, общи съвети за отстраняване на грешки при проблеми като тези или съвети, ще съм много благодарен. Благодаря.


person Behram Mistree    schedule 12.11.2011    source източник
comment
За да започнете, отидете на Run ›› Console, за да отворите конзолата и да видите каква конкретна грешка причинява проблема ви.   -  person aleph_null    schedule 12.11.2011
comment
Благодаря за толкова бързия отговор: [Сесията започна в 2011-11-11 22:38:37 -0800.] 2011-11-11 22:38:39.032 wStream[647:207] +[UIApplication sharedApplicaton]: неразпознат селектор, изпратен до клас 0x1ea2898 2011-11-11 22:38:39.036 wStream[647:207] *** Прекратяване на приложението поради неуловено изключение „NSInvalidArgumentException“, причина: „+[UIApplication sharedApplicaton]: неразпознат селектор, изпратен до клас 0x1ea2898“ *** Стек за извикване при първо хвърляне:   -  person Behram Mistree    schedule 12.11.2011
comment
Опитайте това... appDelegate = [[UIApplication sharedApplicaton] делегат];   -  person Sahil Khanna    schedule 12.11.2011


Отговори (1)


Правописните грешки получават всички рано или късно... в този случай сте написали "sharedApplicaton" вместо "sharedApplication".

person aleph_null    schedule 12.11.2011
comment
Това беше точно това. Благодаря за отговора Приемам вашия отговор сега. - person Behram Mistree; 12.11.2011