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