objc2_foundation/generated/
NSDateFormatter.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsdateformatterstyle?language=objc)
10// NS_ENUM
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct NSDateFormatterStyle(pub NSUInteger);
14impl NSDateFormatterStyle {
15    #[doc(alias = "NSDateFormatterNoStyle")]
16    pub const NoStyle: Self = Self(0);
17    #[doc(alias = "NSDateFormatterShortStyle")]
18    pub const ShortStyle: Self = Self(1);
19    #[doc(alias = "NSDateFormatterMediumStyle")]
20    pub const MediumStyle: Self = Self(2);
21    #[doc(alias = "NSDateFormatterLongStyle")]
22    pub const LongStyle: Self = Self(3);
23    #[doc(alias = "NSDateFormatterFullStyle")]
24    pub const FullStyle: Self = Self(4);
25}
26
27unsafe impl Encode for NSDateFormatterStyle {
28    const ENCODING: Encoding = NSUInteger::ENCODING;
29}
30
31unsafe impl RefEncode for NSDateFormatterStyle {
32    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
33}
34
35/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsdateformatterbehavior?language=objc)
36// NS_ENUM
37#[repr(transparent)]
38#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
39pub struct NSDateFormatterBehavior(pub NSUInteger);
40impl NSDateFormatterBehavior {
41    #[doc(alias = "NSDateFormatterBehaviorDefault")]
42    pub const BehaviorDefault: Self = Self(0);
43    #[doc(alias = "NSDateFormatterBehavior10_0")]
44    pub const Behavior10_0: Self = Self(1000);
45    #[doc(alias = "NSDateFormatterBehavior10_4")]
46    pub const Behavior10_4: Self = Self(1040);
47}
48
49unsafe impl Encode for NSDateFormatterBehavior {
50    const ENCODING: Encoding = NSUInteger::ENCODING;
51}
52
53unsafe impl RefEncode for NSDateFormatterBehavior {
54    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
55}
56
57extern_class!(
58    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsdateformatter?language=objc)
59    #[unsafe(super(NSFormatter, NSObject))]
60    #[derive(Debug, PartialEq, Eq, Hash)]
61    #[cfg(feature = "NSFormatter")]
62    pub struct NSDateFormatter;
63);
64
65#[cfg(feature = "NSFormatter")]
66unsafe impl Send for NSDateFormatter {}
67
68#[cfg(feature = "NSFormatter")]
69unsafe impl Sync for NSDateFormatter {}
70
71#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
72extern_conformance!(
73    unsafe impl NSCoding for NSDateFormatter {}
74);
75
76#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
77extern_conformance!(
78    unsafe impl NSCopying for NSDateFormatter {}
79);
80
81#[cfg(all(feature = "NSFormatter", feature = "NSObject"))]
82unsafe impl CopyingHelper for NSDateFormatter {
83    type Result = Self;
84}
85
86#[cfg(feature = "NSFormatter")]
87extern_conformance!(
88    unsafe impl NSObjectProtocol for NSDateFormatter {}
89);
90
91#[cfg(feature = "NSFormatter")]
92impl NSDateFormatter {
93    extern_methods!(
94        #[unsafe(method(formattingContext))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn formattingContext(&self) -> NSFormattingContext;
97
98        /// Setter for [`formattingContext`][Self::formattingContext].
99        #[unsafe(method(setFormattingContext:))]
100        #[unsafe(method_family = none)]
101        pub unsafe fn setFormattingContext(&self, formatting_context: NSFormattingContext);
102
103        #[cfg(all(feature = "NSError", feature = "NSRange", feature = "NSString"))]
104        #[unsafe(method(getObjectValue:forString:range:error:_))]
105        #[unsafe(method_family = none)]
106        pub unsafe fn getObjectValue_forString_range_error(
107            &self,
108            obj: Option<&mut Option<Retained<AnyObject>>>,
109            string: &NSString,
110            rangep: *mut NSRange,
111        ) -> Result<(), Retained<NSError>>;
112
113        #[cfg(all(feature = "NSDate", feature = "NSString"))]
114        #[unsafe(method(stringFromDate:))]
115        #[unsafe(method_family = none)]
116        pub unsafe fn stringFromDate(&self, date: &NSDate) -> Retained<NSString>;
117
118        #[cfg(all(feature = "NSDate", feature = "NSString"))]
119        #[unsafe(method(dateFromString:))]
120        #[unsafe(method_family = none)]
121        pub unsafe fn dateFromString(&self, string: &NSString) -> Option<Retained<NSDate>>;
122
123        #[cfg(all(feature = "NSDate", feature = "NSString"))]
124        #[unsafe(method(localizedStringFromDate:dateStyle:timeStyle:))]
125        #[unsafe(method_family = none)]
126        pub unsafe fn localizedStringFromDate_dateStyle_timeStyle(
127            date: &NSDate,
128            dstyle: NSDateFormatterStyle,
129            tstyle: NSDateFormatterStyle,
130        ) -> Retained<NSString>;
131
132        #[cfg(all(feature = "NSLocale", feature = "NSString"))]
133        #[unsafe(method(dateFormatFromTemplate:options:locale:))]
134        #[unsafe(method_family = none)]
135        pub unsafe fn dateFormatFromTemplate_options_locale(
136            tmplate: &NSString,
137            opts: NSUInteger,
138            locale: Option<&NSLocale>,
139        ) -> Option<Retained<NSString>>;
140
141        #[unsafe(method(defaultFormatterBehavior))]
142        #[unsafe(method_family = none)]
143        pub unsafe fn defaultFormatterBehavior() -> NSDateFormatterBehavior;
144
145        /// Setter for [`defaultFormatterBehavior`][Self::defaultFormatterBehavior].
146        #[unsafe(method(setDefaultFormatterBehavior:))]
147        #[unsafe(method_family = none)]
148        pub unsafe fn setDefaultFormatterBehavior(
149            default_formatter_behavior: NSDateFormatterBehavior,
150        );
151
152        #[cfg(feature = "NSString")]
153        #[unsafe(method(setLocalizedDateFormatFromTemplate:))]
154        #[unsafe(method_family = none)]
155        pub unsafe fn setLocalizedDateFormatFromTemplate(&self, date_format_template: &NSString);
156
157        #[cfg(feature = "NSString")]
158        #[unsafe(method(dateFormat))]
159        #[unsafe(method_family = none)]
160        pub unsafe fn dateFormat(&self) -> Retained<NSString>;
161
162        #[cfg(feature = "NSString")]
163        /// Setter for [`dateFormat`][Self::dateFormat].
164        #[unsafe(method(setDateFormat:))]
165        #[unsafe(method_family = none)]
166        pub unsafe fn setDateFormat(&self, date_format: Option<&NSString>);
167
168        #[unsafe(method(dateStyle))]
169        #[unsafe(method_family = none)]
170        pub unsafe fn dateStyle(&self) -> NSDateFormatterStyle;
171
172        /// Setter for [`dateStyle`][Self::dateStyle].
173        #[unsafe(method(setDateStyle:))]
174        #[unsafe(method_family = none)]
175        pub unsafe fn setDateStyle(&self, date_style: NSDateFormatterStyle);
176
177        #[unsafe(method(timeStyle))]
178        #[unsafe(method_family = none)]
179        pub unsafe fn timeStyle(&self) -> NSDateFormatterStyle;
180
181        /// Setter for [`timeStyle`][Self::timeStyle].
182        #[unsafe(method(setTimeStyle:))]
183        #[unsafe(method_family = none)]
184        pub unsafe fn setTimeStyle(&self, time_style: NSDateFormatterStyle);
185
186        #[cfg(feature = "NSLocale")]
187        #[unsafe(method(locale))]
188        #[unsafe(method_family = none)]
189        pub unsafe fn locale(&self) -> Retained<NSLocale>;
190
191        #[cfg(feature = "NSLocale")]
192        /// Setter for [`locale`][Self::locale].
193        #[unsafe(method(setLocale:))]
194        #[unsafe(method_family = none)]
195        pub unsafe fn setLocale(&self, locale: Option<&NSLocale>);
196
197        #[unsafe(method(generatesCalendarDates))]
198        #[unsafe(method_family = none)]
199        pub unsafe fn generatesCalendarDates(&self) -> bool;
200
201        /// Setter for [`generatesCalendarDates`][Self::generatesCalendarDates].
202        #[unsafe(method(setGeneratesCalendarDates:))]
203        #[unsafe(method_family = none)]
204        pub unsafe fn setGeneratesCalendarDates(&self, generates_calendar_dates: bool);
205
206        #[unsafe(method(formatterBehavior))]
207        #[unsafe(method_family = none)]
208        pub unsafe fn formatterBehavior(&self) -> NSDateFormatterBehavior;
209
210        /// Setter for [`formatterBehavior`][Self::formatterBehavior].
211        #[unsafe(method(setFormatterBehavior:))]
212        #[unsafe(method_family = none)]
213        pub unsafe fn setFormatterBehavior(&self, formatter_behavior: NSDateFormatterBehavior);
214
215        #[cfg(feature = "NSTimeZone")]
216        #[unsafe(method(timeZone))]
217        #[unsafe(method_family = none)]
218        pub unsafe fn timeZone(&self) -> Retained<NSTimeZone>;
219
220        #[cfg(feature = "NSTimeZone")]
221        /// Setter for [`timeZone`][Self::timeZone].
222        #[unsafe(method(setTimeZone:))]
223        #[unsafe(method_family = none)]
224        pub unsafe fn setTimeZone(&self, time_zone: Option<&NSTimeZone>);
225
226        #[cfg(feature = "NSCalendar")]
227        #[unsafe(method(calendar))]
228        #[unsafe(method_family = none)]
229        pub unsafe fn calendar(&self) -> Retained<NSCalendar>;
230
231        #[cfg(feature = "NSCalendar")]
232        /// Setter for [`calendar`][Self::calendar].
233        #[unsafe(method(setCalendar:))]
234        #[unsafe(method_family = none)]
235        pub unsafe fn setCalendar(&self, calendar: Option<&NSCalendar>);
236
237        #[unsafe(method(isLenient))]
238        #[unsafe(method_family = none)]
239        pub unsafe fn isLenient(&self) -> bool;
240
241        /// Setter for [`isLenient`][Self::isLenient].
242        #[unsafe(method(setLenient:))]
243        #[unsafe(method_family = none)]
244        pub unsafe fn setLenient(&self, lenient: bool);
245
246        #[cfg(feature = "NSDate")]
247        #[unsafe(method(twoDigitStartDate))]
248        #[unsafe(method_family = none)]
249        pub unsafe fn twoDigitStartDate(&self) -> Option<Retained<NSDate>>;
250
251        #[cfg(feature = "NSDate")]
252        /// Setter for [`twoDigitStartDate`][Self::twoDigitStartDate].
253        #[unsafe(method(setTwoDigitStartDate:))]
254        #[unsafe(method_family = none)]
255        pub unsafe fn setTwoDigitStartDate(&self, two_digit_start_date: Option<&NSDate>);
256
257        #[cfg(feature = "NSDate")]
258        #[unsafe(method(defaultDate))]
259        #[unsafe(method_family = none)]
260        pub unsafe fn defaultDate(&self) -> Option<Retained<NSDate>>;
261
262        #[cfg(feature = "NSDate")]
263        /// Setter for [`defaultDate`][Self::defaultDate].
264        #[unsafe(method(setDefaultDate:))]
265        #[unsafe(method_family = none)]
266        pub unsafe fn setDefaultDate(&self, default_date: Option<&NSDate>);
267
268        #[cfg(all(feature = "NSArray", feature = "NSString"))]
269        #[unsafe(method(eraSymbols))]
270        #[unsafe(method_family = none)]
271        pub unsafe fn eraSymbols(&self) -> Retained<NSArray<NSString>>;
272
273        #[cfg(all(feature = "NSArray", feature = "NSString"))]
274        /// Setter for [`eraSymbols`][Self::eraSymbols].
275        #[unsafe(method(setEraSymbols:))]
276        #[unsafe(method_family = none)]
277        pub unsafe fn setEraSymbols(&self, era_symbols: Option<&NSArray<NSString>>);
278
279        #[cfg(all(feature = "NSArray", feature = "NSString"))]
280        #[unsafe(method(monthSymbols))]
281        #[unsafe(method_family = none)]
282        pub unsafe fn monthSymbols(&self) -> Retained<NSArray<NSString>>;
283
284        #[cfg(all(feature = "NSArray", feature = "NSString"))]
285        /// Setter for [`monthSymbols`][Self::monthSymbols].
286        #[unsafe(method(setMonthSymbols:))]
287        #[unsafe(method_family = none)]
288        pub unsafe fn setMonthSymbols(&self, month_symbols: Option<&NSArray<NSString>>);
289
290        #[cfg(all(feature = "NSArray", feature = "NSString"))]
291        #[unsafe(method(shortMonthSymbols))]
292        #[unsafe(method_family = none)]
293        pub unsafe fn shortMonthSymbols(&self) -> Retained<NSArray<NSString>>;
294
295        #[cfg(all(feature = "NSArray", feature = "NSString"))]
296        /// Setter for [`shortMonthSymbols`][Self::shortMonthSymbols].
297        #[unsafe(method(setShortMonthSymbols:))]
298        #[unsafe(method_family = none)]
299        pub unsafe fn setShortMonthSymbols(&self, short_month_symbols: Option<&NSArray<NSString>>);
300
301        #[cfg(all(feature = "NSArray", feature = "NSString"))]
302        #[unsafe(method(weekdaySymbols))]
303        #[unsafe(method_family = none)]
304        pub unsafe fn weekdaySymbols(&self) -> Retained<NSArray<NSString>>;
305
306        #[cfg(all(feature = "NSArray", feature = "NSString"))]
307        /// Setter for [`weekdaySymbols`][Self::weekdaySymbols].
308        #[unsafe(method(setWeekdaySymbols:))]
309        #[unsafe(method_family = none)]
310        pub unsafe fn setWeekdaySymbols(&self, weekday_symbols: Option<&NSArray<NSString>>);
311
312        #[cfg(all(feature = "NSArray", feature = "NSString"))]
313        #[unsafe(method(shortWeekdaySymbols))]
314        #[unsafe(method_family = none)]
315        pub unsafe fn shortWeekdaySymbols(&self) -> Retained<NSArray<NSString>>;
316
317        #[cfg(all(feature = "NSArray", feature = "NSString"))]
318        /// Setter for [`shortWeekdaySymbols`][Self::shortWeekdaySymbols].
319        #[unsafe(method(setShortWeekdaySymbols:))]
320        #[unsafe(method_family = none)]
321        pub unsafe fn setShortWeekdaySymbols(
322            &self,
323            short_weekday_symbols: Option<&NSArray<NSString>>,
324        );
325
326        #[cfg(feature = "NSString")]
327        #[unsafe(method(AMSymbol))]
328        #[unsafe(method_family = none)]
329        pub unsafe fn AMSymbol(&self) -> Retained<NSString>;
330
331        #[cfg(feature = "NSString")]
332        /// Setter for [`AMSymbol`][Self::AMSymbol].
333        #[unsafe(method(setAMSymbol:))]
334        #[unsafe(method_family = none)]
335        pub unsafe fn setAMSymbol(&self, am_symbol: Option<&NSString>);
336
337        #[cfg(feature = "NSString")]
338        #[unsafe(method(PMSymbol))]
339        #[unsafe(method_family = none)]
340        pub unsafe fn PMSymbol(&self) -> Retained<NSString>;
341
342        #[cfg(feature = "NSString")]
343        /// Setter for [`PMSymbol`][Self::PMSymbol].
344        #[unsafe(method(setPMSymbol:))]
345        #[unsafe(method_family = none)]
346        pub unsafe fn setPMSymbol(&self, pm_symbol: Option<&NSString>);
347
348        #[cfg(all(feature = "NSArray", feature = "NSString"))]
349        #[unsafe(method(longEraSymbols))]
350        #[unsafe(method_family = none)]
351        pub unsafe fn longEraSymbols(&self) -> Retained<NSArray<NSString>>;
352
353        #[cfg(all(feature = "NSArray", feature = "NSString"))]
354        /// Setter for [`longEraSymbols`][Self::longEraSymbols].
355        #[unsafe(method(setLongEraSymbols:))]
356        #[unsafe(method_family = none)]
357        pub unsafe fn setLongEraSymbols(&self, long_era_symbols: Option<&NSArray<NSString>>);
358
359        #[cfg(all(feature = "NSArray", feature = "NSString"))]
360        #[unsafe(method(veryShortMonthSymbols))]
361        #[unsafe(method_family = none)]
362        pub unsafe fn veryShortMonthSymbols(&self) -> Retained<NSArray<NSString>>;
363
364        #[cfg(all(feature = "NSArray", feature = "NSString"))]
365        /// Setter for [`veryShortMonthSymbols`][Self::veryShortMonthSymbols].
366        #[unsafe(method(setVeryShortMonthSymbols:))]
367        #[unsafe(method_family = none)]
368        pub unsafe fn setVeryShortMonthSymbols(
369            &self,
370            very_short_month_symbols: Option<&NSArray<NSString>>,
371        );
372
373        #[cfg(all(feature = "NSArray", feature = "NSString"))]
374        #[unsafe(method(standaloneMonthSymbols))]
375        #[unsafe(method_family = none)]
376        pub unsafe fn standaloneMonthSymbols(&self) -> Retained<NSArray<NSString>>;
377
378        #[cfg(all(feature = "NSArray", feature = "NSString"))]
379        /// Setter for [`standaloneMonthSymbols`][Self::standaloneMonthSymbols].
380        #[unsafe(method(setStandaloneMonthSymbols:))]
381        #[unsafe(method_family = none)]
382        pub unsafe fn setStandaloneMonthSymbols(
383            &self,
384            standalone_month_symbols: Option<&NSArray<NSString>>,
385        );
386
387        #[cfg(all(feature = "NSArray", feature = "NSString"))]
388        #[unsafe(method(shortStandaloneMonthSymbols))]
389        #[unsafe(method_family = none)]
390        pub unsafe fn shortStandaloneMonthSymbols(&self) -> Retained<NSArray<NSString>>;
391
392        #[cfg(all(feature = "NSArray", feature = "NSString"))]
393        /// Setter for [`shortStandaloneMonthSymbols`][Self::shortStandaloneMonthSymbols].
394        #[unsafe(method(setShortStandaloneMonthSymbols:))]
395        #[unsafe(method_family = none)]
396        pub unsafe fn setShortStandaloneMonthSymbols(
397            &self,
398            short_standalone_month_symbols: Option<&NSArray<NSString>>,
399        );
400
401        #[cfg(all(feature = "NSArray", feature = "NSString"))]
402        #[unsafe(method(veryShortStandaloneMonthSymbols))]
403        #[unsafe(method_family = none)]
404        pub unsafe fn veryShortStandaloneMonthSymbols(&self) -> Retained<NSArray<NSString>>;
405
406        #[cfg(all(feature = "NSArray", feature = "NSString"))]
407        /// Setter for [`veryShortStandaloneMonthSymbols`][Self::veryShortStandaloneMonthSymbols].
408        #[unsafe(method(setVeryShortStandaloneMonthSymbols:))]
409        #[unsafe(method_family = none)]
410        pub unsafe fn setVeryShortStandaloneMonthSymbols(
411            &self,
412            very_short_standalone_month_symbols: Option<&NSArray<NSString>>,
413        );
414
415        #[cfg(all(feature = "NSArray", feature = "NSString"))]
416        #[unsafe(method(veryShortWeekdaySymbols))]
417        #[unsafe(method_family = none)]
418        pub unsafe fn veryShortWeekdaySymbols(&self) -> Retained<NSArray<NSString>>;
419
420        #[cfg(all(feature = "NSArray", feature = "NSString"))]
421        /// Setter for [`veryShortWeekdaySymbols`][Self::veryShortWeekdaySymbols].
422        #[unsafe(method(setVeryShortWeekdaySymbols:))]
423        #[unsafe(method_family = none)]
424        pub unsafe fn setVeryShortWeekdaySymbols(
425            &self,
426            very_short_weekday_symbols: Option<&NSArray<NSString>>,
427        );
428
429        #[cfg(all(feature = "NSArray", feature = "NSString"))]
430        #[unsafe(method(standaloneWeekdaySymbols))]
431        #[unsafe(method_family = none)]
432        pub unsafe fn standaloneWeekdaySymbols(&self) -> Retained<NSArray<NSString>>;
433
434        #[cfg(all(feature = "NSArray", feature = "NSString"))]
435        /// Setter for [`standaloneWeekdaySymbols`][Self::standaloneWeekdaySymbols].
436        #[unsafe(method(setStandaloneWeekdaySymbols:))]
437        #[unsafe(method_family = none)]
438        pub unsafe fn setStandaloneWeekdaySymbols(
439            &self,
440            standalone_weekday_symbols: Option<&NSArray<NSString>>,
441        );
442
443        #[cfg(all(feature = "NSArray", feature = "NSString"))]
444        #[unsafe(method(shortStandaloneWeekdaySymbols))]
445        #[unsafe(method_family = none)]
446        pub unsafe fn shortStandaloneWeekdaySymbols(&self) -> Retained<NSArray<NSString>>;
447
448        #[cfg(all(feature = "NSArray", feature = "NSString"))]
449        /// Setter for [`shortStandaloneWeekdaySymbols`][Self::shortStandaloneWeekdaySymbols].
450        #[unsafe(method(setShortStandaloneWeekdaySymbols:))]
451        #[unsafe(method_family = none)]
452        pub unsafe fn setShortStandaloneWeekdaySymbols(
453            &self,
454            short_standalone_weekday_symbols: Option<&NSArray<NSString>>,
455        );
456
457        #[cfg(all(feature = "NSArray", feature = "NSString"))]
458        #[unsafe(method(veryShortStandaloneWeekdaySymbols))]
459        #[unsafe(method_family = none)]
460        pub unsafe fn veryShortStandaloneWeekdaySymbols(&self) -> Retained<NSArray<NSString>>;
461
462        #[cfg(all(feature = "NSArray", feature = "NSString"))]
463        /// Setter for [`veryShortStandaloneWeekdaySymbols`][Self::veryShortStandaloneWeekdaySymbols].
464        #[unsafe(method(setVeryShortStandaloneWeekdaySymbols:))]
465        #[unsafe(method_family = none)]
466        pub unsafe fn setVeryShortStandaloneWeekdaySymbols(
467            &self,
468            very_short_standalone_weekday_symbols: Option<&NSArray<NSString>>,
469        );
470
471        #[cfg(all(feature = "NSArray", feature = "NSString"))]
472        #[unsafe(method(quarterSymbols))]
473        #[unsafe(method_family = none)]
474        pub unsafe fn quarterSymbols(&self) -> Retained<NSArray<NSString>>;
475
476        #[cfg(all(feature = "NSArray", feature = "NSString"))]
477        /// Setter for [`quarterSymbols`][Self::quarterSymbols].
478        #[unsafe(method(setQuarterSymbols:))]
479        #[unsafe(method_family = none)]
480        pub unsafe fn setQuarterSymbols(&self, quarter_symbols: Option<&NSArray<NSString>>);
481
482        #[cfg(all(feature = "NSArray", feature = "NSString"))]
483        #[unsafe(method(shortQuarterSymbols))]
484        #[unsafe(method_family = none)]
485        pub unsafe fn shortQuarterSymbols(&self) -> Retained<NSArray<NSString>>;
486
487        #[cfg(all(feature = "NSArray", feature = "NSString"))]
488        /// Setter for [`shortQuarterSymbols`][Self::shortQuarterSymbols].
489        #[unsafe(method(setShortQuarterSymbols:))]
490        #[unsafe(method_family = none)]
491        pub unsafe fn setShortQuarterSymbols(
492            &self,
493            short_quarter_symbols: Option<&NSArray<NSString>>,
494        );
495
496        #[cfg(all(feature = "NSArray", feature = "NSString"))]
497        #[unsafe(method(standaloneQuarterSymbols))]
498        #[unsafe(method_family = none)]
499        pub unsafe fn standaloneQuarterSymbols(&self) -> Retained<NSArray<NSString>>;
500
501        #[cfg(all(feature = "NSArray", feature = "NSString"))]
502        /// Setter for [`standaloneQuarterSymbols`][Self::standaloneQuarterSymbols].
503        #[unsafe(method(setStandaloneQuarterSymbols:))]
504        #[unsafe(method_family = none)]
505        pub unsafe fn setStandaloneQuarterSymbols(
506            &self,
507            standalone_quarter_symbols: Option<&NSArray<NSString>>,
508        );
509
510        #[cfg(all(feature = "NSArray", feature = "NSString"))]
511        #[unsafe(method(shortStandaloneQuarterSymbols))]
512        #[unsafe(method_family = none)]
513        pub unsafe fn shortStandaloneQuarterSymbols(&self) -> Retained<NSArray<NSString>>;
514
515        #[cfg(all(feature = "NSArray", feature = "NSString"))]
516        /// Setter for [`shortStandaloneQuarterSymbols`][Self::shortStandaloneQuarterSymbols].
517        #[unsafe(method(setShortStandaloneQuarterSymbols:))]
518        #[unsafe(method_family = none)]
519        pub unsafe fn setShortStandaloneQuarterSymbols(
520            &self,
521            short_standalone_quarter_symbols: Option<&NSArray<NSString>>,
522        );
523
524        #[cfg(feature = "NSDate")]
525        #[unsafe(method(gregorianStartDate))]
526        #[unsafe(method_family = none)]
527        pub unsafe fn gregorianStartDate(&self) -> Option<Retained<NSDate>>;
528
529        #[cfg(feature = "NSDate")]
530        /// Setter for [`gregorianStartDate`][Self::gregorianStartDate].
531        #[unsafe(method(setGregorianStartDate:))]
532        #[unsafe(method_family = none)]
533        pub unsafe fn setGregorianStartDate(&self, gregorian_start_date: Option<&NSDate>);
534
535        #[unsafe(method(doesRelativeDateFormatting))]
536        #[unsafe(method_family = none)]
537        pub unsafe fn doesRelativeDateFormatting(&self) -> bool;
538
539        /// Setter for [`doesRelativeDateFormatting`][Self::doesRelativeDateFormatting].
540        #[unsafe(method(setDoesRelativeDateFormatting:))]
541        #[unsafe(method_family = none)]
542        pub unsafe fn setDoesRelativeDateFormatting(&self, does_relative_date_formatting: bool);
543    );
544}
545
546/// Methods declared on superclass `NSObject`.
547#[cfg(feature = "NSFormatter")]
548impl NSDateFormatter {
549    extern_methods!(
550        #[unsafe(method(init))]
551        #[unsafe(method_family = init)]
552        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
553
554        #[unsafe(method(new))]
555        #[unsafe(method_family = new)]
556        pub unsafe fn new() -> Retained<Self>;
557    );
558}
559
560/// NSDateFormatterCompatibility.
561#[cfg(feature = "NSFormatter")]
562impl NSDateFormatter {
563    extern_methods!(
564        #[cfg(feature = "NSString")]
565        #[deprecated = "Create an NSDateFormatter with `init` and set the dateFormat property instead."]
566        #[unsafe(method(initWithDateFormat:allowNaturalLanguage:))]
567        #[unsafe(method_family = init)]
568        pub unsafe fn initWithDateFormat_allowNaturalLanguage(
569            this: Allocated<Self>,
570            format: &NSString,
571            flag: bool,
572        ) -> Retained<Self>;
573
574        #[deprecated = "There is no replacement"]
575        #[unsafe(method(allowsNaturalLanguage))]
576        #[unsafe(method_family = none)]
577        pub unsafe fn allowsNaturalLanguage(&self) -> bool;
578    );
579}