/ / Objective-C Singleton Category для внутрішнього використання NSCalendar - об'єктивно-c, одиночний, nscalendar, об'єкт-c-категорія

Objective-C Singleton Category для внутрішнього використання NSCalendar - об'єктивно-c, одиночний, nscalendar, об'єкт-c-категорія

У мене є питання з двома частинами. По-перше, як ви можете створити категорію Синглтона в Obj-C? Це було б просто для внутрішнього використання, тому воно не повинно бути надійним. По-друге, чи можу я створити цю категорію в NSCalendar і мати одноопераційний сигнал як autoupdatingCurrentCalendar? Це безпечно, якщо користувач може змінювати часові пояси під час використання програми? Я хочу, щоб не створювати екземпляр NSCalendar кожен раз, коли мені це потрібно (оскільки він використовується для перегляду таблиць), але я не хочу мати проблем з тимчасовим поясом.

Відповіді:

1 для відповіді № 1

"Одиночна категорія" не має сенсу ... Синглтон - це клас, який може бути інстанцією не більше одного разу. Категорії надають спосіб розширення класів, але не дають вам особливий контроль над тим, скільки разів клас інвенціонує.

Схоже, ви дійсно хочете поділитисяекземпляр NSCalendar. Якщо це так, то ви, безумовно, можете оголосити глобальну змінну та створити в класі деякі методи класу, які дадуть вам доступ до цієї глобальної змінної.


0 для відповіді № 2

autoupdatingCurrentCalendar вже є одиночним, тому я не бачу точки створення категорії для цього. Що стосується створення одиночних категорій - впевнений, що це можливо, майже так само, як звичайний синглтон.