What is the difference between
import Swift and
I couldn’t find the documentation and doing a Google search didn’t turn up much.
What I tried
Testing it out shows that
import Swift does not give any compile errors, but that doesn’t really answer my question.
If I were to guess, I would say that you import Swift for Swift projects and that you import Foundation for Objective-C projects or maybe for Swift projects that use Objective-C classes (like
Testing this in the Playground:
var str = "Hello, playground"
let str2: NSString = "hello"
let str3: String = "hello"
import Swift gives no errors and
str is of
String type. However, commenting out
import Foundation gives an “undeclared type” error for
My question revisited
I would be happy enough to abandon Foundation and just use Swift. So am I right to just import Swift all the time unless I specifically need to use one of the old Objective-C classes?
Yes, you will only need
import Foundation if you want to access NSObject or one of its subclasses. Foundation is the framework that brings in that class hierarchy. However, it’s highly likely that in a project you’ll need more than just
import Swift. Like Rob commented,
import UIKit is also a nice option.
In case you haven’t read it already, Apple explains the Foundation framework here.