Я читаю IOS Мэтты pragraming книги, когда я прочитал здесь:В нашем файле Swift, где я могу импортировать быстрый модуль?
Swift сам определяются в модуле - Свифт модуль. Ваш код всегда неявно импортирует модуль Swift. Вы можете сделать это явным, запустив файл с линией импорта Swift; нет необходимости делать это, но это тоже не повредит.
Этот факт важен, поскольку он решает главную тайну: откуда берутся такие вещи, как печать, и почему можно использовать их вне любого сообщения для какого-либо объекта? print - фактически функция, объявленная на верхнем уровне модуля Swift, и ваш код может видеть декларации верхнего уровня модуля Swift, поскольку он импортирует Swift. Таким образом, функция печати становится, насколько ваш код, обычной функцией верхнего уровня, как и любая другая; он глобальный для вашего кода, и ваш код может говорить об этом без указания его пространства имен. Вы можете указать его пространство имен - вполне законно говорить такие вещи, как Swift.print («привет»), но вы, вероятно, никогда этого не сделаете, потому что конфликт имен не разрешается.
Такие, как, в моем тесте ViewController
:
import UIKit
//import Swift // here we can import Swift. it is okay
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
Swift.print("hello, matt") // where we import the Swift ?
}
}
Мы можем использовать print
или Swift.print
, я просто хочу спросить, как яблоко неявно импортирует Swift модуль? и очевидно, UIKit
, мы должны импортировать, если может имплицитно импортировать модуль Swift
, почему там яблоко не подразумевает импорт UIKit
?
Мое недоразумение заключается в том, как неявно импортирует модуль Swift
?
Ваша цитата объясняет, что именно вы спрашиваете – Alexander
@ Александр, я обновляю вопрос, прежде чем у меня недостает ясности. – aircraft