[swift-dev] Libraries written in Objective-C in Swift 3

Chris Bailey 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
> https://lists.swift.org/mailman/listinfo/swift-dev

swift-dev mailing list
swift-dev at swift.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20160425/86fee438/attachment.html>

More information about the swift-dev mailing list