2012-07-13 65 views
0

從使用的appDelegate變量所以在我的appDelegate我有事件的數組,像這樣:iphone-dev的:在MapViewController中

AppDelegate.m

#import "AppDelegate.h" 
#import "ListViewController.h" 
#import "Event.h" 
#import <RestKit/RestKit.h> 


@implementation AppDelegate{ 
    NSMutableArray *events; 

    /* for test data */ 
    NSMutableArray *titles; 
} 


@synthesize window = _window; ... 

而且我想進入電影這個事件數組一個視圖 - 控制像這樣:

MapViewController.m

#imports ... 

... 

-(void) viewDidLoad{ 
    [super viewDidLoad]; 

    [worldView addAnnotation:[ACCES_EVENTS_HERE objectAtIndex:int]; // <------ 

    NSLog(@"Loadded the view for MapViewController"); 
} 

我該怎麼辦呢? 其次,有沒有更好的地方添加事件在地圖上然後viewDidLoaD? (該事件將來自數據庫這樣會有很多事件)

+0

變量,你是什麼意思?你會從互聯網上的某些服務器/服務中收到它們嗎?如果是這樣,那麼看看異步加載。這可以防止App在數據加載時被凍結。 – 2012-07-13 12:08:08

+0

您應該創建一個屬性並將其合成到您的AppDelegate中以便稍後訪問數據。 – janusbalatbat 2012-07-13 12:09:14

+0

它將來自基於休息的服務器。而且,如果我創建屬性並將其合成,View Controller將可以訪問它?我只需要一個這樣的變量,所以它實際上不是屬性 – Spyral 2012-07-13 12:49:45

回答

1

我認爲它是一個壞主意來存儲這樣的變量在應用程序的委託,但如果你需要訪問你可以得到

參考
id<UIApplicationDelegate> myDelegate = [[UIApplication sharedApplication] delegate] 

,你將需要從數據庫加載投給你的委託類訪問雖然

+0

如果我錯了,請糾正我,但他也需要爲appDelegate中聲明的對象創建屬性,對吧? – 2012-07-13 11:25:57

+0

要麼創建屬性,要麼爲上面顯示的ivars實現setter和getter。我認爲這是從上面的應用代理片段完成的 – wattson12 2012-07-13 11:31:09

相關問題