Câu hỏinhập khẩu Swift vs Foundation nhập khẩu
sự khác biệt giữa import Swift
và import Foundation
là gì?
Cho đến khi tôi đọc this comment bởi Martin R, tôi thậm chí không biết rằng có một import Swift
.
Reading
tôi không thể tìm thấy tài liệu hướng dẫn và thực hiện một tìm kiếm Google đã không bật lên nhiều.
Những gì tôi cố gắng
Kiểm tra nó ra cho thấy import Swift
không đưa ra bất cứ lỗi biên dịch, nhưng điều đó không thực sự trả lời câu hỏi của tôi.
Nếu tôi đoán, tôi sẽ nói rằng bạn nhập Swift cho các dự án Swift và bạn nhập Foundation cho các dự án Objective-C hoặc có thể cho các dự án Swift sử dụng các lớp Objective-C (như NSString
).
Kiểm tra này trong sân chơi:
import Foundation
import Swift
var str = "Hello, playground"
let str2: NSString = "hello"
let str3: String = "hello"
Bình luận ra import Swift
mang đến cho không có lỗi và str
là String
loại. Tuy nhiên, nhận xét ra import Foundation
cho lỗi "loại không khai báo" cho NSString
.
Câu hỏi của tôi revisited
tôi sẽ có đủ hạnh phúc để bỏ Foundation và chỉ sử dụng Swift. Vì vậy, tôi có quyền chỉ cần nhập Swift tất cả các thời gian, trừ khi tôi đặc biệt cần phải sử dụng một trong các lớp Objective-C cũ?
Chỉ cần sử dụng bất kỳ mã nào của bạn yêu cầu. Như Martin đã nói trong bình luận của anh ta rằng bạn đã liên kết, bạn có thể sử dụng lớp hẹp nhất có thể cho những gì bạn đang làm trong mã của bạn. Vì vậy, nếu 'import UIKit' nếu bạn đang sử dụng các lớp UIKit. Sử dụng 'Import Foundation' nếu sử dụng các lớp nền tảng nhưng không sử dụng UIKit. Sử dụng 'import Swift' Nếu bạn không cần bất kỳ lớp UIKit hoặc nền tảng nào. – Rob
Tôi nghĩ rằng 'nhập Swift' luôn luôn ngầm ở đó, không cần phải gõ nó ra. – Kametrixom