@@ -51,9 +51,9 @@ + (instancetype)messageChannelWithName:(NSString*)name
5151+ (instancetype )messageChannelWithName : (NSString *)name
5252 binaryMessenger : (NSObject <FlutterBinaryMessenger>*)messenger
5353 codec : (NSObject <FlutterMessageCodec>*)codec {
54- return [[[ FlutterBasicMessageChannel alloc ] initWithName: name
55- binaryMessenger: messenger
56- codec: codec] autorelease ];
54+ return [[FlutterBasicMessageChannel alloc ] initWithName: name
55+ binaryMessenger: messenger
56+ codec: codec];
5757}
5858
5959- (instancetype )initWithName : (NSString *)name
@@ -69,21 +69,13 @@ - (instancetype)initWithName:(NSString*)name
6969 taskQueue : (NSObject <FlutterTaskQueue>*)taskQueue {
7070 self = [super init ];
7171 NSAssert (self, @" Super init cannot be nil" );
72- _name = [ name retain ] ;
73- _messenger = [ messenger retain ] ;
74- _codec = [ codec retain ] ;
75- _taskQueue = [ taskQueue retain ] ;
72+ _name = name;
73+ _messenger = messenger;
74+ _codec = codec;
75+ _taskQueue = taskQueue;
7676 return self;
7777}
7878
79- - (void )dealloc {
80- [_name release ];
81- [_messenger release ];
82- [_codec release ];
83- [_taskQueue release ];
84- [super dealloc ];
85- }
86-
8779- (void )sendMessage : (id )message {
8880 [_messenger sendOnChannel: _name message: [_codec encode: message]];
8981}
@@ -108,7 +100,7 @@ - (void)setMessageHandler:(FlutterMessageHandler)handler {
108100 return ;
109101 }
110102 // Grab reference to avoid retain on self.
111- NSObject <FlutterMessageCodec>* codec = _codec;
103+ __weak NSObject <FlutterMessageCodec>* codec = _codec;
112104 FlutterBinaryMessageHandler messageHandler = ^(NSData * message, FlutterBinaryReply callback) {
113105 handler ([codec decode: message], ^(id reply) {
114106 callback ([codec encode: reply]);
@@ -128,26 +120,19 @@ - (void)resizeChannelBuffer:(NSInteger)newSize {
128120// //////////////////////////////////////////////////////////////////////////////
129121@implementation FlutterError
130122+ (instancetype )errorWithCode : (NSString *)code message : (NSString *)message details : (id )details {
131- return [[[ FlutterError alloc ] initWithCode: code message: message details: details] autorelease ];
123+ return [[FlutterError alloc ] initWithCode: code message: message details: details];
132124}
133125
134126- (instancetype )initWithCode : (NSString *)code message : (NSString *)message details : (id )details {
135127 NSAssert (code, @" Code cannot be nil" );
136128 self = [super init ];
137129 NSAssert (self, @" Super init cannot be nil" );
138- _code = [ code retain ] ;
139- _message = [ message retain ] ;
140- _details = [ details retain ] ;
130+ _code = code;
131+ _message = message;
132+ _details = details;
141133 return self;
142134}
143135
144- - (void )dealloc {
145- [_code release ];
146- [_message release ];
147- [_details release ];
148- [super dealloc ];
149- }
150-
151136- (BOOL )isEqual : (id )object {
152137 if (self == object) {
153138 return YES ;
@@ -169,24 +154,18 @@ - (NSUInteger)hash {
169154// //////////////////////////////////////////////////////////////////////////////
170155@implementation FlutterMethodCall
171156+ (instancetype )methodCallWithMethodName : (NSString *)method arguments : (id )arguments {
172- return [[[ FlutterMethodCall alloc ] initWithMethodName: method arguments: arguments] autorelease ];
157+ return [[FlutterMethodCall alloc ] initWithMethodName: method arguments: arguments];
173158}
174159
175160- (instancetype )initWithMethodName : (NSString *)method arguments : (id )arguments {
176161 NSAssert (method, @" Method name cannot be nil" );
177162 self = [super init ];
178163 NSAssert (self, @" Super init cannot be nil" );
179- _method = [ method retain ] ;
180- _arguments = [ arguments retain ] ;
164+ _method = method;
165+ _arguments = arguments;
181166 return self;
182167}
183168
184- - (void )dealloc {
185- [_method release ];
186- [_arguments release ];
187- [super dealloc ];
188- }
189-
190169- (BOOL )isEqual : (id )object {
191170 if (self == object) {
192171 return YES ;
@@ -224,8 +203,7 @@ + (instancetype)methodChannelWithName:(NSString*)name
224203+ (instancetype )methodChannelWithName : (NSString *)name
225204 binaryMessenger : (NSObject <FlutterBinaryMessenger>*)messenger
226205 codec : (NSObject <FlutterMethodCodec>*)codec {
227- return [[[FlutterMethodChannel alloc ] initWithName: name binaryMessenger: messenger
228- codec: codec] autorelease ];
206+ return [[FlutterMethodChannel alloc ] initWithName: name binaryMessenger: messenger codec: codec];
229207}
230208
231209- (instancetype )initWithName : (NSString *)name
@@ -240,21 +218,13 @@ - (instancetype)initWithName:(NSString*)name
240218 taskQueue : (NSObject <FlutterTaskQueue>*)taskQueue {
241219 self = [super init ];
242220 NSAssert (self, @" Super init cannot be nil" );
243- _name = [ name retain ] ;
244- _messenger = [ messenger retain ] ;
245- _codec = [ codec retain ] ;
246- _taskQueue = [ taskQueue retain ] ;
221+ _name = name;
222+ _messenger = messenger;
223+ _codec = codec;
224+ _taskQueue = taskQueue;
247225 return self;
248226}
249227
250- - (void )dealloc {
251- [_name release ];
252- [_messenger release ];
253- [_codec release ];
254- [_taskQueue release ];
255- [super dealloc ];
256- }
257-
258228- (void )invokeMethod : (NSString *)method arguments : (id )arguments {
259229 FlutterMethodCall* methodCall = [FlutterMethodCall methodCallWithMethodName: method
260230 arguments: arguments];
@@ -285,7 +255,7 @@ - (void)setMethodCallHandler:(FlutterMethodCallHandler)handler {
285255 return ;
286256 }
287257 // Make sure the block captures the codec, not self.
288- NSObject <FlutterMethodCodec>* codec = _codec;
258+ __weak NSObject <FlutterMethodCodec>* codec = _codec;
289259 FlutterBinaryMessageHandler messageHandler = ^(NSData * message, FlutterBinaryReply callback) {
290260 FlutterMethodCall* call = [codec decodeMethodCall: message];
291261 handler (call, ^(id result) {
@@ -328,8 +298,7 @@ + (instancetype)eventChannelWithName:(NSString*)name
328298+ (instancetype )eventChannelWithName : (NSString *)name
329299 binaryMessenger : (NSObject <FlutterBinaryMessenger>*)messenger
330300 codec : (NSObject <FlutterMethodCodec>*)codec {
331- return [[[FlutterEventChannel alloc ] initWithName: name binaryMessenger: messenger
332- codec: codec] autorelease ];
301+ return [[FlutterEventChannel alloc ] initWithName: name binaryMessenger: messenger codec: codec];
333302}
334303
335304- (instancetype )initWithName : (NSString *)name
@@ -344,21 +313,13 @@ - (instancetype)initWithName:(NSString*)name
344313 taskQueue : (NSObject <FlutterTaskQueue>* _Nullable)taskQueue {
345314 self = [super init ];
346315 NSAssert (self, @" Super init cannot be nil" );
347- _name = [ name retain ] ;
348- _messenger = [ messenger retain ] ;
349- _codec = [ codec retain ] ;
350- _taskQueue = [ taskQueue retain ] ;
316+ _name = name;
317+ _messenger = messenger;
318+ _codec = codec;
319+ _taskQueue = taskQueue;
351320 return self;
352321}
353322
354- - (void )dealloc {
355- [_name release ];
356- [_codec release ];
357- [_messenger release ];
358- [_taskQueue release ];
359- [super dealloc ];
360- }
361-
362323static FlutterBinaryMessengerConnection SetStreamHandlerMessageHandlerOnChannel (
363324 NSObject <FlutterStreamHandler>* handler,
364325 NSString * name,
0 commit comments