Sur*_*gch 31 import objective-c foundation ios swift
题
import Swift和之间有什么区别import Foundation?
直到我读这条评论被马丁- [R ,我甚至不知道有一个import Swift.
读
我找不到文档,谷歌搜索没有太多.
我尝试了什么
测试它显示import Swift没有给出任何编译错误,但这并没有真正回答我的问题.
如果我猜测,我会说您导入Swift for Swift项目,并导入Foundation for Objective-C项目,或者可能导入使用Objective-C类的Swift项目(如NSString).
在Playground中测试:
import Foundation
import Swift
var str = "Hello, playground"
let str2: NSString = "hello"
let str3: String = "hello"
Run Code Online (Sandbox Code Playgroud)
注释掉import Swift没有错误,str属于String类型.但是,注释掉import Foundation会给出"未声明的类型"错误NSString.
我的问题重新审视
我很高兴放弃基金会并且只使用Swift.所以,除非我特别需要使用旧的Objective-C类之一,否则我一直只能导入Swift?
Sid*_*ney 22
是的,只有import Foundation在您想要访问NSObject或其子类之一时才需要.Foundation是引入该类层次结构的框架.但是,在项目中,您很可能需要的不仅仅是import Swift.像Rob评论,import UIKit也是一个不错的选择.
如果您还没有阅读,Apple会在这里解释Foundation框架.
ara*_*_86 12
如果您想使用字符串、日期等,您需要导入 Foundation。
Foundation 框架为应用程序和框架提供了基础功能层,包括数据存储和持久化、文本处理、日期和时间计算、排序和过滤以及网络。
如果你想使用 UITableViewController, UIAlertController 你需要导入 UIKit。
如果导入 UIKit,则不需要导入 Foundation,因为它已经在后台导入了。
Swift 标准库定义了用于编写 Swift 程序的基础功能层,包括:
基本数据类型、通用数据结构、全局函数如 print( :separator:terminator:) 和 abs( :)、协议,如 Collection 和 Equatable...等
如果导入 Foundation,则无需再次导入 Swift,因为 Foundation 默认包含对 Swift 标准库的引用。
当你写一些不是为 iOS 应用程序编写的东西时,比如基于 Vapor 的服务器编程,你可能需要考虑导入 Swift。
参考:- https://developer.apple.com/documentation/swift/swift_standard_library/
请参考:- https://hasancan.tech.blog/2018/01/17/import-foundation-vs-uikit/
| 归档时间: |
|
| 查看次数: |
18056 次 |
| 最近记录: |