[swift-evolution] Objective-C’s @compatibility_alias => Swift’s typealias?

Ayaka Nonaka ayanonagon at gmail.com
Thu Jun 30 17:16:01 CDT 2016


Hi Swift community,


I was wondering if bridging Objective-C’s @compatibility_alias to Swift’s
typealias is something that we have considered adding support for.

For example, @compatibility_alias is useful for things like adding an alias
like DCColor for UIColor and NSColor depending on the target. Here’s an
example from our codebase:

// For color compatibility, we alias DCColor to the appropriate class
#if DC_TARGET_MOBILE
#import <UIKit/UIKit.h>
@compatibility_alias DCColor UIColor;
#else
#import <Cocoa/Cocoa.h>
@compatibility_alias DCColor NSColor;
#endif

We expected DCColor to be exposed to our Swift code, but it turns out that
it is not. I’d imagine that we’re not the only ones using
@compatibility_alias for similar things and other things that are useful.
It would be really cool to see seamless bridging between
@compatibility_alias and typealias, especially since we’ve seen a lot of
other great backwards compatibility features in Swift 3.0 like importing
lightweight-generics and #keyPath.

Thanks for reading! :D

Ayaka

-- 
Ayaka Nonaka
@ayanonagon <https://twitter.com/ayanonagon> | www.ayaka.me
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160630/04942e7d/attachment.html>


More information about the swift-evolution mailing list