Merge pull request #6440 from makdharma/bugfixes

RouteGuide example now works with moving between tabs. Fixes issue 6404.
pull/6492/head
Jorge Canizales 9 years ago
commit dcd8d7cd99
  1. 89
      examples/objective-c/route_guide/ViewControllers.m

@ -80,19 +80,14 @@ static NSString * const kHostAddress = @"localhost:50051";
* Run the getFeature demo. Calls getFeature with a point known to have a feature and a point known
* not to have a feature.
*/
@interface GetFeatureViewController : UIViewController
@interface GetFeatureViewController : UIViewController {
RTGRouteGuide *service;
}
@end
@implementation GetFeatureViewController
- (void)viewDidLoad {
[super viewDidLoad];
// This only needs to be done once per host, before creating service objects for that host.
[GRPCCall useInsecureConnectionsForHost:kHostAddress];
RTGRouteGuide *service = [[RTGRouteGuide alloc] initWithHost:kHostAddress];
- (void)execRequest {
void (^handler)(RTGFeature *response, NSError *error) = ^(RTGFeature *response, NSError *error) {
if (response.name.length) {
NSLog(@"Found feature called %@ at %@.", response.name, response.location);
@ -111,6 +106,19 @@ static NSString * const kHostAddress = @"localhost:50051";
[service getFeatureWithRequest:[RTGPoint message] handler:handler];
}
- (void)viewDidLoad {
[super viewDidLoad];
// This only needs to be done once per host, before creating service objects for that host.
[GRPCCall useInsecureConnectionsForHost:kHostAddress];
service = [[RTGRouteGuide alloc] initWithHost:kHostAddress];
}
- (void)viewDidAppear:(BOOL)animated {
[self execRequest];
}
@end
@ -120,16 +128,15 @@ static NSString * const kHostAddress = @"localhost:50051";
* Run the listFeatures demo. Calls listFeatures with a rectangle containing all of the features in
* the pre-generated database. Prints each response as it comes in.
*/
@interface ListFeaturesViewController : UIViewController
@interface ListFeaturesViewController : UIViewController {
RTGRouteGuide *service;
}
@end
@implementation ListFeaturesViewController
- (void)viewDidLoad {
[super viewDidLoad];
RTGRouteGuide *service = [[RTGRouteGuide alloc] initWithHost:kHostAddress];
- (void)execRequest {
RTGRectangle *rectangle = [RTGRectangle message];
rectangle.lo.latitude = 405E6;
rectangle.lo.longitude = -750E6;
@ -147,6 +154,16 @@ static NSString * const kHostAddress = @"localhost:50051";
}];
}
- (void)viewDidLoad {
[super viewDidLoad];
service = [[RTGRouteGuide alloc] initWithHost:kHostAddress];
}
- (void)viewDidAppear:(BOOL)animated {
[self execRequest];
}
@end
@ -157,14 +174,15 @@ static NSString * const kHostAddress = @"localhost:50051";
* database with a variable delay in between. Prints the statistics when they are sent from the
* server.
*/
@interface RecordRouteViewController : UIViewController
@interface RecordRouteViewController : UIViewController {
RTGRouteGuide *service;
}
@end
@implementation RecordRouteViewController
- (void)viewDidLoad {
[super viewDidLoad];
- (void)execRequest {
NSString *dataBasePath = [NSBundle.mainBundle pathForResource:@"route_guide_db"
ofType:@"json"];
NSData *dataBaseContent = [NSData dataWithContentsOfFile:dataBasePath];
@ -178,8 +196,6 @@ static NSString * const kHostAddress = @"localhost:50051";
return location;
}];
RTGRouteGuide *service = [[RTGRouteGuide alloc] initWithHost:kHostAddress];
[service recordRouteWithRequestsWriter:locations
handler:^(RTGRouteSummary *response, NSError *error) {
if (response) {
@ -193,6 +209,16 @@ static NSString * const kHostAddress = @"localhost:50051";
}];
}
- (void)viewDidLoad {
[super viewDidLoad];
service = [[RTGRouteGuide alloc] initWithHost:kHostAddress];
}
- (void)viewDidAppear:(BOOL)animated {
[self execRequest];
}
@end
@ -202,14 +228,15 @@ static NSString * const kHostAddress = @"localhost:50051";
* Run the routeChat demo. Send some chat messages, and print any chat messages that are sent from
* the server.
*/
@interface RouteChatViewController : UIViewController
@interface RouteChatViewController : UIViewController {
RTGRouteGuide *service;
}
@end
@implementation RouteChatViewController
- (void)viewDidLoad {
[super viewDidLoad];
- (void)execRequest {
NSArray *notes = @[[RTGRouteNote noteWithMessage:@"First message" latitude:0 longitude:0],
[RTGRouteNote noteWithMessage:@"Second message" latitude:0 longitude:1],
[RTGRouteNote noteWithMessage:@"Third message" latitude:1 longitude:0],
@ -219,8 +246,6 @@ static NSString * const kHostAddress = @"localhost:50051";
return note;
}];
RTGRouteGuide *service = [[RTGRouteGuide alloc] initWithHost:kHostAddress];
[service routeChatWithRequestsWriter:notesWriter
eventHandler:^(BOOL done, RTGRouteNote *note, NSError *error) {
if (note) {
@ -234,4 +259,14 @@ static NSString * const kHostAddress = @"localhost:50051";
}];
}
- (void)viewDidLoad {
[super viewDidLoad];
service = [[RTGRouteGuide alloc] initWithHost:kHostAddress];
}
- (void)viewDidAppear:(BOOL)animated {
[self execRequest];
}
@end

Loading…
Cancel
Save