সুইফট 5 এর সাহায্যে, আপনি বুলিয়ান সম্পত্তি সহ টাইপের Optional
জন্য একটি এক্সটেনশন প্রয়োগ করতে পারেন String
যা returnsচ্ছিক স্ট্রিংয়ের কোনও মূল্য না থাকে বা খালি থাকলে ফিরে আসে:
extension Optional where Wrapped == String {
var isNilOrEmpty: Bool {
return self?.isEmpty ?? true
}
}
তবে, প্রোটোকল অনুসারে সম্পত্তি String
প্রয়োগ isEmpty
করে Collection
। অতএব আমরা পূর্ববর্তী কোডের জেনেরিক বাধ্যতা (প্রতিস্থাপন করতে পারেন Wrapped == String
একটি বৃহত্তর এক (সঙ্গে) Wrapped: Collection
) যাতে Array
, Dictionary
এবং Set
এছাড়াও আমাদের নতুন উপকৃত isNilOrEmpty
সম্পত্তি:
extension Optional where Wrapped: Collection {
var isNilOrEmpty: Bool {
return self?.isEmpty ?? true
}
}
এর সাথে ব্যবহার String
:
let optionalString: String? = nil
print(optionalString.isNilOrEmpty) // prints: true
let optionalString: String? = ""
print(optionalString.isNilOrEmpty) // prints: true
let optionalString: String? = "Hello"
print(optionalString.isNilOrEmpty) // prints: false
এর সাথে ব্যবহার Array
:
let optionalArray: Array<Int>? = nil
print(optionalArray.isNilOrEmpty) // prints: true
let optionalArray: Array<Int>? = []
print(optionalArray.isNilOrEmpty) // prints: true
let optionalArray: Array<Int>? = [10, 22, 3]
print(optionalArray.isNilOrEmpty) // prints: false
সূত্র: