Ios 进口SWIFT与进口基础
问题Ios 进口SWIFT与进口基础,ios,objective-c,swift,import,foundation,Ios,Objective C,Swift,Import,Foundation,问题 import Swift和import Foundation之间有什么区别 在我阅读之前,我甚至不知道有一个导入Swift 阅读 我找不到文档,在谷歌上搜索的结果也不多 我尝试的 测试表明,importswift不会给出任何编译错误,但这并不能真正回答我的问题 如果我猜的话,我会说,你为SWIFT项目导入SWIFT,并为ObjyE-C项目导入基础,或者为使用ObjtoE-C类的SWIFT项目(如 NSCORS/)提供基础。 在操场上测试: import Foundation import
import Swift
和import Foundation
之间有什么区别
在我阅读之前,我甚至不知道有一个导入Swift
阅读
我找不到文档,在谷歌上搜索的结果也不多
我尝试的
测试表明,importswift
不会给出任何编译错误,但这并不能真正回答我的问题
如果我猜的话,我会说,你为SWIFT项目导入SWIFT,并为ObjyE-C项目导入基础,或者为使用ObjtoE-C类的SWIFT项目(如<代码> NSCORS/<代码>)提供基础。 在操场上测试:
import Foundation
import Swift
var str = "Hello, playground"
let str2: NSString = "hello"
let str3: String = "hello"
注释掉import Swift
不会出现错误,str
属于String
类型。但是,注释掉import Foundation
会给NSString
带来一个“未声明类型”错误
重新审视我的问题
我会很高兴放弃基础,只使用SWIFT。除非我特别需要使用一个旧的Objective-C类,否则我可以一直导入Swift吗?是的,如果您想访问NSObject或其子类,您只需要导入基础。基金会是引入类层次结构的框架。然而,在一个项目中,很可能需要的不仅仅是
导入Swift
。就像Rob评论的那样,导入UIKit
也是一个不错的选择
如果你还没有读过它,Apple解释了基础框架。
< P>如果你想使用字符串、日期等,你需要导入Foundation。<强>基础框架为应用程序和框架提供了一个基本功能层,包括数据存储和持久性、文本处理、日期和时间计算、排序和过滤和网络。>/P> 如果要使用UITableViewController、UIAlertController,则需要导入UIKit
<强>如果导入UIKIT,则不需要导入基础,因为它已经在后台导入了。< /强>
Swift标准库定义了编写Swift程序的基本功能层,包括: 基本数据类型、通用数据结构、全局函数(如打印(:分隔符:终止符:)和abs(:))、协议(如采集和equalable…)。。。等<强>如果导入基础,则不需要再次导入SWIFT,因为基础包含默认的SWIFT标准库的引用。>P/> <>强>当你写的东西不是针对iOS应用程序,比如说基于蒸汽的服务器编程时,你可能需要考虑导入SWIFT。< /强>
参考:- 请参阅:-< P>用于访问NSObject的导入基础或其子类.NStObject中的一个,意味着我们可以使用Objic C运行时特性来扩展类。但是导入UIKIT或导入SWIFT,这是在创建XCODE项目时自动生成的,只需使用您的代码所需的任何代码即可。正如Martin在您链接到的评论中所说的,您可以使用最窄的类来完成代码中的工作。因此,如果您正在使用UIKit类,请导入UIKit。如果使用基础类而不使用UIKIT,请使用<代码>导入基础< /代码>。如果不需要任何UIKIT或基础类,请使用<代码>导入SWIFT 。我认为
import swift
行或任何其他import
行生成,但是它们使用Array
和Dictionary
等。你能理解为什么会这样吗?我已经问过了。谢谢根据我的研究,用新的评论更新了答案。