Bagaimana cara mendapatkan nama file dari string jalur file yang diberikan?
Misalnya jika saya memiliki string jalur file sebagai
file:///Users/DeveloperTeam/Library/Developer/CoreSimulator/Devices/F33222DF-D8F0-448B-A127-C5B03C64D0DC/data/Containers/Data/Application/5D0A6264-6007-4E69-A63B-D77868EA1807/tmp/trim.D152E6EA-D19D-4E3F-8110-6EACB2833CE3.MOV
dan saya ingin mendapatkan hasil pengembalian sebagai
trim.D152E6EA-D19D-4E3F-8110-6EACB2833CE3.MOV
Terima kasih untuk bantuannya.
URL
s, bukan sebagaiString
s atauNSString
sSWIFT 3.x atau SWIFT 4: Cara terpendek dan terbersih untuk melakukannya ada di bawah ini. Dalam contoh
url
variabel ini berjenisURL
dengan cara ini kita dapat memilikiString
hasil yang dapat dibaca manusia dari nama file lengkap dengan ekstensi likeMy file name.txt
dan Not like.My%20file%20name.txt
sumber
Jika Anda ingin mendapatkan nama file saat ini seperti untuk tujuan logging, saya menggunakan ini.
Cepat 4
sumber
init(fileURLWithPath path: __shared String, isDirectory: Bool)
untuk menghindari akses sistem file tambahan. Dari dokumen: Fungsi ini menghindari akses sistem file tambahan untuk memeriksa apakah URL file adalah direktori. Anda harus menggunakannya jika Anda sudah tahu jawabannya.Cepat 2:
sumber
lastPathComponent
swiftString
(sebagai kebalikan dari castingNSString
).init(fileURLWithPath path: __shared String, isDirectory: Bool)
untuk menghindari akses sistem file tambahan. Dari dokumen: Fungsi ini menghindari akses sistem file tambahan untuk memeriksa apakah URL file adalah direktori. Anda harus menggunakannya jika Anda sudah tahu jawabannya.Coba ini
Diperbarui:
Semoga membantu.
sumber
Kode di bawah ini berfungsi untuk saya di Swift 4.X.
sumber
Agar ini berfungsi, url Anda harus berupa URL jenis bukan string jadi jangan mengubahnya menjadi string sebelumnya.
Anda dapat menyalin dan menempelkan kode ini langsung ke taman bermain untuk melihat cara kerjanya.
sumber
Anda dapat mengirimkan url di fileUrl, seperti yang saya lakukan di bawah ini: -
// Komponen jalur terakhir ini akan memberi Anda Nama file dengan ekstensi.
sumber
Membuat url bentuk "nama file" yang unik termasuk dua folder sebelumnya
}
sumber
Untuk mengambil nama file tanpa ekstensinya dari URL di Swift> = 4.2:
sumber