كيفية إضافة يوم واحد إلى NSDate في Swift؟ مشكلة مع DateComponents
مرحباً بالجميع! أنا مطور iOS مبتدئ، أكتب بلغة Swift. واجهت مهمة بسيطة على ما يبدو: أحتاج إلى أخذ التاريخ الحالي، وإضافة يوم واحد بالضبط إليه، والحصول على تاريخ جديد. لكن لا شيء يعمل!
إليك الكود الخاص بي:
```swift
let currentDate = NSDate()
let tomorrow = currentDate.addingTimeInterval(60 * 60 * 24) // 24 ساعة بالثواني
print(tomorrow)
```
المشكلة هي أنه عند الانتقال إلى التوقيت الصيفي/الشتوي، 24 ساعة ليست دائماً يوماً واحداً بالضبط. على سبيل المثال، في الربيع قد يستمر اليوم 23 ساعة، وفي الخريف 25 ساعة. بسبب هذا، أحصل على وقت غير صحيح. بالإضافة إلى ذلك، إذا أردت إضافة شهر واحد أو سنة واحدة، فهذه الطريقة غير مناسبة على الإطلاق.
أعلم أنه في Objective-C كان يُستخدم `NSDateComponents` و `NSCalendar` لهذا الغرض، لكن في Swift أجد نفسي مرتبكاً مع الـ API الجديد. جربت الكتابة بهذه الطريقة:
```swift
let calendar = Calendar.current
var components = DateComponents()
components.day = 1
let tomorrow = calendar.date(byAdding: components, to: currentDate as Date)
```
لكن `currentDate as Date` هي...