|  | // Copyright 2017, the Flutter project authors.  Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  |  | 
|  | #include "AppDelegate.h" | 
|  | #include "GeneratedPluginRegistrant.h" | 
|  | #include "PlatformViewController.h" | 
|  |  | 
|  | @implementation AppDelegate { | 
|  | FlutterResult _flutterResult; | 
|  | } | 
|  |  | 
|  | - (BOOL)application:(UIApplication *)application | 
|  | didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { | 
|  | [GeneratedPluginRegistrant registerWithRegistry:self]; | 
|  | FlutterViewController* controller = | 
|  | (FlutterViewController*)self.window.rootViewController; | 
|  | FlutterMethodChannel* channel = | 
|  | [FlutterMethodChannel methodChannelWithName:@"samples.flutter.io/platform_view" | 
|  | binaryMessenger:controller]; | 
|  | [channel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) { | 
|  | if ([@"switchView" isEqualToString:call.method]) { | 
|  | _flutterResult = result; | 
|  | PlatformViewController* platformViewController = | 
|  | [controller.storyboard instantiateViewControllerWithIdentifier:@"PlatformView"]; | 
|  | platformViewController.counter = ((NSNumber*)call.arguments).intValue; | 
|  | platformViewController.delegate = self; | 
|  | UINavigationController* navigationController = | 
|  | [[UINavigationController alloc] initWithRootViewController:platformViewController]; | 
|  | navigationController.navigationBar.topItem.title = @"Platform View"; | 
|  | [controller presentViewController:navigationController animated:NO completion:nil]; | 
|  | } else { | 
|  | result(FlutterMethodNotImplemented); | 
|  | } | 
|  | }]; | 
|  | return [super application:application didFinishLaunchingWithOptions:launchOptions]; | 
|  | } | 
|  |  | 
|  | - (void)didUpdateCounter:(int)counter { | 
|  | _flutterResult([NSNumber numberWithInt:counter]); | 
|  | } | 
|  |  | 
|  | @end |