bagaimana menghindari mengimpor Framework yang sama pada setiap file Swift

Apakah ada cara untuk selalu mengimpor beberapa perpustakaan di setiap file? tanpa memasukkannya ke dalam kerangka kerja

misalnya, daripada harus melakukan

--MySwiftFile.swift--

import UIKit 
import Foundation
import ...

Saya bisa melakukan sesuatu seperti:

--SharedImports.swift--

import UIKit 
import Foundation
import ...

--MySwiftFile.swift--

import SharedImports.swift

person Edward Ashak    schedule 22.03.2016    source sumber


Jawaban (1)


Jawabannya adalah “Tidak, dan itu memang disengaja”. Setiap file perlu mengetahui konteks kode yang terkandung dalam file tersebut. Konteks tersebut didapat dari serangkaian impor.

Sekarang dalam kasus khusus UIKit dan Foundation, seharusnya UIKit mengimpor Foundation jadi menurut saya Anda tidak perlu memanggil keduanya secara eksplisit di setiap file. Dalam contoh di atas, Anda seharusnya bisa bertahan dengan adil

import UIKit

Ada kalanya, ketika mendefinisikan model aplikasi Anda misalnya, Anda mungkin ingin file memasukkan Foundation dan bukan UIKit.

person Scott Thompson    schedule 22.03.2016
comment
saya menempatkan keduanya hanya sebagai contoh tetapi Anda benar. bagaimana jika saya memiliki kerangka kerja lokal di proyek saya dan dalam kerangka tersebut perpustakaan-perpustakaan ini diimpor. Saya masih perlu mengimpornya secara eksplisit, bukan? - person Edward Ashak; 23.03.2016
comment
Ya. Setiap file dikompilasi sebagai unit terpisah dan setiap unit memerlukan konteks lengkap untuk mengetahui apa yang tersedia untuk kode di unit tersebut. - person Scott Thompson; 23.03.2016
comment
Entah bagaimana ada PrefixHeader.pch. Anda dapat melakukan solusi: Buat file Objective-C. Tambahkan semua perpustakaan yang ingin Anda impor ke mana-mana ke PrefixHeader.pch dan kemudian impor file Objective-C ini melalui BridgingHeader... pasti bisa dilakukan dan jawab pasti TIDAK salah. - person Adas Lesniak; 17.03.2019