iphone-dev:在MapViewController中使用appDelegate中的变量

时间:2012-07-13 11:18:39

标签: objective-c xcode class ios5 mapkit

所以在我的appDelegate中我有一系列事件,如:

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; ...

我想在viewcontroller中访问这个events数组,如下所示:

MapViewController.m

#imports ...

...

-(void) viewDidLoad{
    [super viewDidLoad];

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

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

我该怎么做? 其次,有没有更好的地方在地图上添加事件,然后viewDidLoaD? (事件将来自数据库,因此会有很多事件)

1 个答案:

答案 0 :(得分:1)

我认为在app delegate上存储这样的变量是一个坏主意,但是如果你需要访问权限,你可以获得

的引用
id<UIApplicationDelegate> myDelegate = [[UIApplication sharedApplication] delegate]

您需要将此转换为您的委托类以访问变量