Commit 1dc3e98a authored by James D. Lin's avatar James D. Lin Committed by Dan Field

Fix a retain cycle in the Objective-C platform_channel example (#22321)

parent 7d47f04d
...@@ -19,10 +19,11 @@ ...@@ -19,10 +19,11 @@
FlutterMethodChannel* batteryChannel = [FlutterMethodChannel FlutterMethodChannel* batteryChannel = [FlutterMethodChannel
methodChannelWithName:@"samples.flutter.io/battery" methodChannelWithName:@"samples.flutter.io/battery"
binaryMessenger:controller]; binaryMessenger:controller];
__weak typeof(self) weakSelf = self;
[batteryChannel setMethodCallHandler:^(FlutterMethodCall* call, [batteryChannel setMethodCallHandler:^(FlutterMethodCall* call,
FlutterResult result) { FlutterResult result) {
if ([@"getBatteryLevel" isEqualToString:call.method]) { if ([@"getBatteryLevel" isEqualToString:call.method]) {
int batteryLevel = [self getBatteryLevel]; int batteryLevel = [weakSelf getBatteryLevel];
if (batteryLevel == -1) { if (batteryLevel == -1) {
result([FlutterError errorWithCode:@"UNAVAILABLE" result([FlutterError errorWithCode:@"UNAVAILABLE"
message:@"Battery info unavailable" message:@"Battery info unavailable"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment