Не удается получить доступ к переменной экземпляра appdelegate из связанного View Controller - PullRequest
0 голосов
/ 05 сентября 2011

Мое имя приложения PropertiesSearch , поэтому проект содержит следующие файлы:

PropertiesSearchAppDelegate.h
PropertiesSearchAppDelegate.m
PropertiesSearchViewController.h
PropertiesSearchViewController.m

Я объявил переменную экземпляра (ListingNav) в PropertiesSearchAppDelegate.h так:

#import <UIKit/UIKit.h>

@class PropertiesSearchViewController;

@interface PropertiesSearchAppDelegate : NSObject <UIApplicationDelegate> {
    UINavigationController *ListingNav;
}

@property (nonatomic, retain) UINavigationController *ListingNav;

@end

и в PropertiesSearchAppDelegate.m я добавил

@synthesize ListingNav; 

Теперь я пытаюсь получить доступ к ListingNav из PropertiesSearchViewController.m следующим образом:

PropertiesSearchAppDelegate *appDelegate = (PropertiesSearchAppDelegate *)[[UIApplication sharedApplication] delegate];
// Then here I can easily do appDelegate.ListingNav etc...

Но отладчик показывает:

Использование необъявленного идентификатора PropertiesSearchAppDelegate

Должен ли я импортировать PropertiesSearchAppDelegate.h в PropertiesSearchViewController.h ?

Заранее спасибо за помощь

Stephane

1 Ответ

3 голосов
/ 05 сентября 2011

Вы должны импортировать PropertiesSearchAppDelegate.h в PropertiesSearchViewController.h .

Чтобы сообщить классу о другом классе, вы должны либо импортироватьclass или добавить @ директиву класса .Добавление директивы @ class просто позволяет классу знать, что существует другой класс.В вашем случае вы должны импортировать PropertiesSearchAppDelegate , когда вы пытаетесь получить доступ к членам класса.

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