UIDelegate currently uses compiler flags to allow for platform specific login in UIDelegate. We should instead create subclasses UIDelegateMac and UIDelegateIOS to distinguish platform specific code.
Why is that an improvement? Subclassing is used for runtime polymorphism, so it's the wrong tool to use for platform specific code.
(In reply to comment #1) > Why is that an improvement? Subclassing is used for runtime polymorphism, so > it's the wrong tool to use for platform specific code. Sorry, you're right, we don't want to subclass. What I meant was separate implementations so that we don't need the platform-specific compiler flags throughout UIDelegate.