karakter - properti instance dari String, tidak digunakan lagi dengan Xcode 9.1
Itu sangat berguna untuk mendapatkan substring dari String dengan menggunakan characters
properti tetapi sekarang sudah usang dan Xcode menyarankan untuk digunakan substring
. Saya sudah mencoba memeriksa sekitar pertanyaan SO dan tutorial / pedoman pengembang apel untuk hal yang sama. Tetapi tidak bisa melihat solusi / alternatif seperti yang disarankan.
Ini pesan peringatan:
'karakter' sudah usang: Silakan gunakan String atau Substring
Saya sudah banyak operasi string dilakukan / ditangani menggunakan properti characters
.
Adakah yang tahu / info tentang pembaruan ini?
String
perubahan dari Swift 3 ke 4 dan silakan baca juga SE0163count
saja.string.characters.forEach
API baru adalahstring.forEach { char in process(char) }
Jawaban:
Swift 4 memperkenalkan perubahan pada string API.
Anda bisa menggunakan
!stringValue.isEmpty
sajastringValue.characters.count > 0
untuk informasi lebih lanjut, Anda mendapatkan sampel dari sini
untuk mis
sumber
Swift 4 vs Swift 3 contoh:
sumber
Salah satu kasus paling umum untuk memanipulasi string adalah dengan respons JSON. Dalam contoh ini saya membuat ekstensi di aplikasi arloji saya untuk menjatuhkan (n) karakter terakhir dari objek Bitcoin JSON.
Swift 3:
Pesan Kesalahan Xcode 9.1:
Xcode memberitahu kita untuk menggunakan variabel string atau metode secara langsung .
Swift 4:
Ekstensi lengkap:
Panggilan:
Menghibur:
Contoh tambahan:
print("Spell has \(invisibleSpellName.count) characters.")
return String(dropLast(n))
return String(removeLast(n))
Dokumentasi:
Anda akan sering menggunakan metode umum seperti
dropLast()
atauremoveLast()
ataucount
jadi di sini adalah Apple dokumentasi eksplisit untuk setiap metode.droplast ()
removelast ()
menghitung karakter
sumber
Peringatan itu hanyalah puncak gunung es, ada banyak perubahan string, string lagi-lagi adalah kumpulan karakter, tapi kami mendapatkan sesuatu yang baru dan keren, substrings :)
Ini adalah bacaan yang bagus tentang ini: https://useyourloaf.com/blog/updating-strings-for-swift-4/
sumber
Gunakan ini
characters
karenaString
berhenti menjadi koleksi di Swift 2.0. Namun hal ini masih berlaku kode di Swift 4 tapi tidak lagi diperlukan sekarangString
adalahCollection
lagi.Misalnya Swift 4
String
sekarang memiliki properti hitung langsung yang memberikan jumlah karakter:Contoh untuk String dan SubString.
Swift 4
String
sekarang langsung mendapatkan Elemen yang memberikan karakter pertama dari String:(string.characters.first)
Menggunakan SubString dapatkan karakter pertama.
sumber
.first
karena jika string""
kosong. itu hanya akan mengembalikan nol tetapisubstring
akan menghasilkan kesalahan..characters
cukupAnda juga dapat menggunakan kode ini untuk pengelompokan kamus tanpa menggunakan {$ 0.characters.first! }.
sumber
Hapus saja karakter Misalnya:
stringValue.characters.count ke stringValue.count
sumber