Saturday, 7 September 2013

Communicating between 2 ViewControllers in Tab Bar Controller Project

Communicating between 2 ViewControllers in Tab Bar Controller Project

I'm using a Tab Bar Controller in my project where the FirstViewController
has a Mapbox map view and the SecondViewController has buttons that when
pressed add a tile layer to the map view. Here's what I've tried. It
creates error ***Use of undeclared identifier '_mapView' in the
SecondViewController.m
//FirstViewController.h
#import <UIKit/UIKit.h>
#import <MapBox/MapBox.h>
#import "SecondViewController.h"
#import "SecondViewController.m"
@interface FirstViewController : UIViewController
@property (strong, nonatomic) IBOutlet RMMapView *mapView;
@end
//SecondViewController.h
#import <UIKit/UIKit.h>
#import <MapBox/MapBox.h>
#import "FirstViewController.h"
#import "FirstViewController.m"
@interface SecondViewController : UIViewController
- (IBAction)stationingLayerButton:(id)sender;
@end
//SecondViewController.m
- (IBAction)stationingLayerButton:(id)sender {
RMMBTilesSource *stationingMap = [[RMMBTilesSource alloc]
initWithTileSetURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:@"Stationing20" ofType:@"mbtiles"]]];
[_mapView addTileSource:stationingMap atIndex:2];
}
}
The map calls are correct because I've tested it on a project that only
uses one view controller. Now that I'm trying it on a Tab Bar Controller I
get this error.
My question is
1.how do I get mapView in the FirstViewController to respond to calls in
the SecondViewController? 2.Can this be done? I've imported the class
files thinking this would open communication between the two but I'm stuck
with this error.

No comments:

Post a Comment