@@ -51,9 +51,9 @@ + (instancetype)messageChannelWithName:(NSString*)name
51
51
+ (instancetype )messageChannelWithName : (NSString *)name
52
52
binaryMessenger : (NSObject <FlutterBinaryMessenger>*)messenger
53
53
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];
57
57
}
58
58
59
59
- (instancetype )initWithName : (NSString *)name
@@ -69,21 +69,13 @@ - (instancetype)initWithName:(NSString*)name
69
69
taskQueue : (NSObject <FlutterTaskQueue>*)taskQueue {
70
70
self = [super init ];
71
71
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;
76
76
return self;
77
77
}
78
78
79
- - (void )dealloc {
80
- [_name release ];
81
- [_messenger release ];
82
- [_codec release ];
83
- [_taskQueue release ];
84
- [super dealloc ];
85
- }
86
-
87
79
- (void )sendMessage : (id )message {
88
80
[_messenger sendOnChannel: _name message: [_codec encode: message]];
89
81
}
@@ -108,7 +100,7 @@ - (void)setMessageHandler:(FlutterMessageHandler)handler {
108
100
return ;
109
101
}
110
102
// Grab reference to avoid retain on self.
111
- NSObject <FlutterMessageCodec>* codec = _codec;
103
+ __weak NSObject <FlutterMessageCodec>* codec = _codec;
112
104
FlutterBinaryMessageHandler messageHandler = ^(NSData * message, FlutterBinaryReply callback) {
113
105
handler ([codec decode: message], ^(id reply) {
114
106
callback ([codec encode: reply]);
@@ -128,26 +120,19 @@ - (void)resizeChannelBuffer:(NSInteger)newSize {
128
120
// //////////////////////////////////////////////////////////////////////////////
129
121
@implementation FlutterError
130
122
+ (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];
132
124
}
133
125
134
126
- (instancetype )initWithCode : (NSString *)code message : (NSString *)message details : (id )details {
135
127
NSAssert (code, @" Code cannot be nil" );
136
128
self = [super init ];
137
129
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;
141
133
return self;
142
134
}
143
135
144
- - (void )dealloc {
145
- [_code release ];
146
- [_message release ];
147
- [_details release ];
148
- [super dealloc ];
149
- }
150
-
151
136
- (BOOL )isEqual : (id )object {
152
137
if (self == object) {
153
138
return YES ;
@@ -169,24 +154,18 @@ - (NSUInteger)hash {
169
154
// //////////////////////////////////////////////////////////////////////////////
170
155
@implementation FlutterMethodCall
171
156
+ (instancetype )methodCallWithMethodName : (NSString *)method arguments : (id )arguments {
172
- return [[[ FlutterMethodCall alloc ] initWithMethodName: method arguments: arguments] autorelease ];
157
+ return [[FlutterMethodCall alloc ] initWithMethodName: method arguments: arguments];
173
158
}
174
159
175
160
- (instancetype )initWithMethodName : (NSString *)method arguments : (id )arguments {
176
161
NSAssert (method, @" Method name cannot be nil" );
177
162
self = [super init ];
178
163
NSAssert (self, @" Super init cannot be nil" );
179
- _method = [ method retain ] ;
180
- _arguments = [ arguments retain ] ;
164
+ _method = method;
165
+ _arguments = arguments;
181
166
return self;
182
167
}
183
168
184
- - (void )dealloc {
185
- [_method release ];
186
- [_arguments release ];
187
- [super dealloc ];
188
- }
189
-
190
169
- (BOOL )isEqual : (id )object {
191
170
if (self == object) {
192
171
return YES ;
@@ -224,8 +203,7 @@ + (instancetype)methodChannelWithName:(NSString*)name
224
203
+ (instancetype )methodChannelWithName : (NSString *)name
225
204
binaryMessenger : (NSObject <FlutterBinaryMessenger>*)messenger
226
205
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];
229
207
}
230
208
231
209
- (instancetype )initWithName : (NSString *)name
@@ -240,21 +218,13 @@ - (instancetype)initWithName:(NSString*)name
240
218
taskQueue : (NSObject <FlutterTaskQueue>*)taskQueue {
241
219
self = [super init ];
242
220
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;
247
225
return self;
248
226
}
249
227
250
- - (void )dealloc {
251
- [_name release ];
252
- [_messenger release ];
253
- [_codec release ];
254
- [_taskQueue release ];
255
- [super dealloc ];
256
- }
257
-
258
228
- (void )invokeMethod : (NSString *)method arguments : (id )arguments {
259
229
FlutterMethodCall* methodCall = [FlutterMethodCall methodCallWithMethodName: method
260
230
arguments: arguments];
@@ -285,7 +255,7 @@ - (void)setMethodCallHandler:(FlutterMethodCallHandler)handler {
285
255
return ;
286
256
}
287
257
// Make sure the block captures the codec, not self.
288
- NSObject <FlutterMethodCodec>* codec = _codec;
258
+ __weak NSObject <FlutterMethodCodec>* codec = _codec;
289
259
FlutterBinaryMessageHandler messageHandler = ^(NSData * message, FlutterBinaryReply callback) {
290
260
FlutterMethodCall* call = [codec decodeMethodCall: message];
291
261
handler (call, ^(id result) {
@@ -328,8 +298,7 @@ + (instancetype)eventChannelWithName:(NSString*)name
328
298
+ (instancetype )eventChannelWithName : (NSString *)name
329
299
binaryMessenger : (NSObject <FlutterBinaryMessenger>*)messenger
330
300
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];
333
302
}
334
303
335
304
- (instancetype )initWithName : (NSString *)name
@@ -344,21 +313,13 @@ - (instancetype)initWithName:(NSString*)name
344
313
taskQueue : (NSObject <FlutterTaskQueue>* _Nullable)taskQueue {
345
314
self = [super init ];
346
315
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;
351
320
return self;
352
321
}
353
322
354
- - (void )dealloc {
355
- [_name release ];
356
- [_codec release ];
357
- [_messenger release ];
358
- [_taskQueue release ];
359
- [super dealloc ];
360
- }
361
-
362
323
static FlutterBinaryMessengerConnection SetStreamHandlerMessageHandlerOnChannel (
363
324
NSObject <FlutterStreamHandler>* handler,
364
325
NSString * name,
0 commit comments