【发布时间】:2016-02-29 20:02:21
【问题描述】:
问题
import Swift 和 import Foundation 有什么区别?
在我读到Martin R 的this comment 之前,我什至不知道有一个import Swift。
阅读
我找不到文档,谷歌搜索也没有出现太多。
我尝试了什么
测试表明import Swift 没有给出任何编译错误,但这并不能真正回答我的问题。
如果我猜的话,我会说你为 Swift 项目导入了 Swift,你为 Objective-C 项目或者可能为使用 Objective-C 类的 Swift 项目导入了 Foundation(比如 NSString)。
在 Playground 中测试:
import Foundation
import Swift
var str = "Hello, playground"
let str2: NSString = "hello"
let str3: String = "hello"
注释掉import Swift 没有错误,str 属于String 类型。但是,注释掉 import Foundation 会给 NSString 一个“未声明类型”错误。
我的问题重温了
我会很高兴放弃 Foundation 而只使用 Swift。那么,除非我特别需要使用旧的 Objective-C 类之一,否则我是否一直只导入 Swift?
【问题讨论】:
-
只需使用您的代码所需的任何内容。就像 Martin 在您链接到的评论中所说的那样,您可以使用最窄的类来处理您在代码中所做的事情。所以如果
import UIKit如果你正在使用 UIKit 类。如果使用基础类而不是 UIKit,请使用import Foundation。如果您不需要任何 UIKit 或基础类,请使用import Swift。 -
我认为
import Swift总是隐含地存在,无需输入。 -
@Rob 如果您不需要任何 UIKit 或基础类,请使用 import Swift 在操场上,甚至在项目中的普通文件中,如果它是纯粹的 swift 它就可以在没有
import Swift。所以我想知道它实际上在哪里需要......
标签: ios objective-c swift import foundation