diff --git a/pkgs/objective_c/src/input_stream_adapter.m b/pkgs/objective_c/src/input_stream_adapter.m index 1d57c762c..ce2a5611e 100644 --- a/pkgs/objective_c/src/input_stream_adapter.m +++ b/pkgs/objective_c/src/input_stream_adapter.m @@ -26,6 +26,8 @@ + (instancetype)inputStreamWithPort:(Dart_Port)sendPort { stream->_done = NO; stream->_status = NSStreamStatusNotOpen; stream->_error = nil; + // From https://developer.apple.com/documentation/foundation/nsstream: + // "...by a default, a stream object must be its own delegate..." stream->_delegate = stream; } return stream; @@ -90,6 +92,9 @@ - (BOOL)setProperty:(id)property forKey:(NSStreamPropertyKey)key { } - (void)setDelegate:(id)delegate { + // From https://developer.apple.com/documentation/foundation/nsstream: + // "...so a delegate message with an argument of nil should restore this + // delegate..." if (delegate == nil) { _delegate = self; } else {