UnimplementedLogging
public protocol UnimplementedLogging
Protocols that provide no-op default method implementations can use this protocol to log a message to the console whenever an unimplemented delegate method is called.
In Swift, optional protocol methods exist only for Objective-C compatibility. However, various protocols in this library follow a classic Objective-C delegate pattern in which the protocol would have a number of optional methods. Instead of the disallowed optional
keyword, these protocols conform to the UnimplementedLogging
protocol to inform about unimplemented methods at runtime. These console messages are logged to the subsystem com.mapbox.com
with a category of the format “delegation.ProtocolName”, where ProtocolName is the name of the protocol that defines the method.
The default method implementations should be provided as part of the protocol or an extension thereof. If the default implementations reside in an extension, the extension should have the same visibility level as the protocol itself.
-
logUnimplemented(protocolType:level:function:)
Default implementationPrints a warning to standard output.
Default Implementation
Declaration
Swift
func logUnimplemented(protocolType: Any, level: OSLogType, function: String)