Dateহয় Comparableএবং Equatable(সুইফট 3 হিসাবে)
এই উত্তরটি @ অঙ্কিত ঠাকুরের উত্তরকে পরিপূরক করে।
যেহেতু সুইফ্ট 3 Dateস্ট্রাক্ট (অন্তর্নিহিত NSDateশ্রেণির উপর ভিত্তি করে ) Comparableএবং Equatableপ্রোটোকলগুলি গ্রহণ করে ।
Comparableযে প্রয়োজন Dateঅপারেটার বাস্তবায়ন: <, <=, >, >=।
Equatableঅপারেটর Dateবাস্তবায়ন প্রয়োজন ==।
Equatableঅপারেটরের Dateডিফল্ট বাস্তবায়ন !=(যা Equatable ==অপারেটরের প্রয়োগের বিপরীত ) ব্যবহার করতে দেয় ।
নিম্নলিখিত নমুনা কোডগুলি এই তুলনা অপারেটরদের ব্যায়াম করে এবং নিশ্চিত করে যে কোন তুলনা printবিবৃতিতে সত্য ।
তুলনা ফাংশন
import Foundation
func describeComparison(date1: Date, date2: Date) -> String {
var descriptionArray: [String] = []
if date1 < date2 {
descriptionArray.append("date1 < date2")
}
if date1 <= date2 {
descriptionArray.append("date1 <= date2")
}
if date1 > date2 {
descriptionArray.append("date1 > date2")
}
if date1 >= date2 {
descriptionArray.append("date1 >= date2")
}
if date1 == date2 {
descriptionArray.append("date1 == date2")
}
if date1 != date2 {
descriptionArray.append("date1 != date2")
}
return descriptionArray.joined(separator: ", ")
}
নমুনা ব্যবহার
let now = Date()
describeComparison(date1: now, date2: now.addingTimeInterval(1))
describeComparison(date1: now, date2: now.addingTimeInterval(-1))
describeComparison(date1: now, date2: now)
let d1 = Date() ; let d2 = Date() ; if d1 > d2 { }আমার এক্সকোড 8 বিটা 6 এ কাজ করে