Di Objective C, seseorang dapat melakukan hal berikut untuk memeriksa string:
if ([myString isEqualToString:@""]) {
NSLog(@"myString IS empty!");
} else {
NSLog(@"myString IS NOT empty, it is: %@", myString);
}
Bagaimana cara mendeteksi string kosong di Swift?
Jawaban:
Sekarang ada kemampuan bawaan untuk mendeteksi string kosong dengan
.isEmpty
:Dokumentasi pra-rilis Apple: "Strings and Characters" .
sumber
Cara ringkas untuk memeriksa apakah string kosong atau kosong adalah:
sumber
if let myString = myString where !myString.isEmpty { ... }
Saya sepenuhnya menulis ulang jawaban saya ( lagi ). Kali ini karena saya telah menjadi penggemar
guard
pernyataan itu dan kembali lebih awal . Itu membuat kode lebih bersih.String Non-Opsional
Periksa panjang nol.
Jika
if
pernyataan itu lewat, maka Anda dapat menggunakan string dengan aman karena tahu itu tidak kosong. Jika kosong maka fungsi akan kembali lebih awal dan tidak ada yang penting.String opsional
Periksa panjang nol atau nol.
Ini membuka bungkus opsional dan memeriksa bahwa itu tidak kosong pada saat yang sama. Setelah melewati
guard
pernyataan tersebut, Anda dapat menggunakan string nonempty yang belum dibuka dengan aman.sumber
Dalam Xcode 11.3 cepat 5.2 dan yang lebih baru
Menggunakan
Contoh
Jika Anda ingin mengabaikan spasi putih
sumber
Inilah cara saya memeriksa apakah string kosong. Dengan 'blank' maksud saya string yang kosong atau hanya berisi spasi / karakter baris baru.
Cara Penggunaan:
sumber
Anda juga dapat menggunakan ekstensi opsional sehingga Anda tidak perlu khawatir tentang membuka atau menggunakan
== true
:Catatan: saat memanggil ini pada opsional, pastikan untuk tidak menggunakan
?
atau yang lain masih akan membutuhkan pembungkus.sumber
optionalString?isBlank
bahwa itu harus dibuka.currentIncident.priority?.description.isBlank
. Says:Value of optional type 'Bool?' not unwrapped; did you mean to use '!' or '?'?
. Saya harus melakukan(currentIncident.priority?.description ?? "").isBlank
yang membuat ekstensi agak tidak berguna. Cepat 4.1.priority
ada pilihan di sana. Kalau sajadescription
opsional itu akan bekerja, tetapi Anda tidak dapat bekerja di sekitar objek induk menjadi opsional seperti itu (karena jikapriority
nihil, maka itu bahkan tidak memilikidescription
properti untuk memeriksa kekosongan di tempat pertama).Untuk melakukan nil check dan length secara bersamaan Swift 2.0 dan iOS 9 dan seterusnya dapat Anda gunakan
sumber
isEmpty akan melakukan apa yang Anda pikirkan, jika string == "", itu akan mengembalikan true. Beberapa jawaban lain menunjuk pada situasi di mana Anda memiliki string opsional.
HARAP gunakan Chaining Opsional !!!!
Jika string tidak nil, isEmpty akan digunakan, jika tidak maka tidak akan.
Di bawah ini, opsionalString TIDAK akan diatur karena string adalah nihil
Jelas Anda tidak akan menggunakan kode di atas. Keuntungan berasal dari penguraian JSON atau situasi lain di mana Anda memiliki nilai atau tidak. Kode jaminan ini akan dijalankan jika ada nilai.
sumber
Periksa periksa hanya spasi dan baris baru karakter dalam teks
menggunakan
sumber
Untuk String opsional, bagaimana dengan:
sumber
sumber
Bagaimana dengan
sumber
Saya dapat merekomendasikan menambahkan ekstensi kecil ke String atau Array yang terlihat seperti
Dengannya Anda dapat menulis kode yang lebih mudah dibaca. Bandingkan dua baris ini
dan
Sangat mudah untuk dilewatkan ! masuk di awal garis tinju.
sumber
Anda dapat menggunakan ekstensi ini:
dan kemudian gunakan seperti ini:
sumber