[swift-dev] Libraries written in Objective-C in Swift 3
BAILEYC at uk.ibm.com
Mon Apr 25 07:45:34 CDT 2016
Is there a view (yet) on if/when/how the "Swift" implementation of
Foundation will be used on Darwin?
Currently under TestFoundation, the "Swift" version is its imported as
SwiftFoundation on Darwin. Is the medium/long term view? ie, that the
Swift implementation will be "SwiftFoundation", with function renaming
done to drop the "NS", thereby allowing developers to keep their existing
applications on the Obj-C implementation, or consciously decide to migrate
to the Swift version?
From: Philippe Hausler via swift-dev <swift-dev at swift.org>
To: Mike Berg <mberg at solstice-consulting.com>
Cc: Justin Baumgartner <jbaumgartner at solstice-consulting.com>,
swift-dev at swift.org
Date: 22/04/2016 22:36
Subject: Re: [swift-dev] Libraries written in Objective-C in Swift
Sent by: swift-dev-bounces at swift.org
> On Apr 22, 2016, at 2:03 PM, Mike Berg via swift-dev
<swift-dev at swift.org> wrote:
> Hi everyone,
> A question has come up on my project that nobody seems to have an answer
for. I was hoping someone here might know:
> On my project, we have a longstanding iOS application that has both objC
and swift source files. As is the case for most old apps out there (a few
years), we regularly use swift code in objC and vice versa.
> We have been keeping tabs on how Swift has been expanding and we noticed
that with Swift 3, the foundation classes will be rewritten in swift. So
does this mean that all Swift classes using Foundation automatically start
using Foundation written in Swift or is it opt-in? If it’s mandatory, then
will libraries dependent on the Objective-C runtime no longer work (i.e.
the Alamofire git repo)?
The foundation classes are not being re-written in Swift (for Darwin, the
linux versions however are). The current proposal on the evolution list is
for structures, which act in parallel to their reference type
counterparts. You can still use a reference type where it makes sense, but
now you can use a struct type where that is desired for a few new types.
One slight change that might have some effect is how the APIs are
imported. If an API exposed a return type of NSData now it will return a
struct Data. That can easily be converted back via using `as NSData`.
> Thanks for reading and take care,
> Michael Berg
> Technical Analyst
> Solstice Mobile
> (630) 414-6938
> swift-dev mailing list
> swift-dev at swift.org
swift-dev mailing list
swift-dev at swift.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-dev