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

Philippe Hausler phausler at apple.com
Fri Apr 22 16:35:48 CDT 2016


> 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



More information about the swift-dev mailing list