Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Singleton - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Device id http://www.cyberforum.ru/objective-c/thread629986.html
Всем доборое время суток! У меня возникла проблема с нахождением device знает кто нибудь как мне вытащить id. Мне нужно в строку его записать потом сохранить в каком нибудь стринге. Пробовал ну что...
Objective-C Открытие нового окна У меня в приложении 2 кнопки: "1" и "2". Пожскажите пжлста как мне сделать так чтобы при нажатии на каждую кнопку открывалась новая пустая форма? http://www.cyberforum.ru/objective-c/thread629081.html
Objective-C Парсинг HTML кода
Я смог написать прогу которая забирает исходный код этого сайта.Я не могу написать парсер который берет с этой сайта погоду. Прям с главной страницы. Мне нужны только три символа,например:+25. Весь...
Где найти саму программу после написания в xcode? Objective-C
Всем привет! Я написал простенькую программу (ака ХВ) протестировал ее в симуляторе, все хорошо Но как мне теперь ее закинуть на мой девайс?Хотелось бы увидеть ее там :) (без апстора конечно :))...
Objective-C Анимация http://www.cyberforum.ru/objective-c/thread627660.html
Всем доброго времени суток! Есть такая задача: Пишу анимацию падающих снежинок, с которыми юзер может взаимодействовать(свайпом по экрану включить ветер в направлении свайпа, либо на мак оси...
Objective-C Поиск текста Дана строка с текстом,который оторбражается в TextView.Как сделать так чтобы когда пользователь вводил какой то текст в другом текстовом поле,Прога пробегала по тексту и выделяла,если находила этот... подробнее

Показать сообщение отдельно
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
30.07.2012, 17:30
Во-первых, наследовать класс, который будет singleton'ом, от UIView, это, если мягко сказать, неверно.

Во-вторых, в objective-c нет понятия private, для методов. Нет методов, есть сообщение. Сообщение может быть послано любому объекту.
Можно ограничить область видимости, просто убрав метод из .h.

В-третьих, singleton делается не так.
Почитайте тут много реализаций(как хороших, так и не очень)
Я делаю так:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//Not ARC:
static SomeClass *instance = nil;
 
static void singleton_remover() {
    if (instance) {
        [instance release];
        instance = nil;
    }
}
 
+ (SomeClass*)sharedInstance {
    @synchronized (self) {
        if (!instance) {
            instance = [[SomeClass alloc] init];
            atexit(singleton_remover);
        }
        return instance;
    }
}
ARC Singleton

P.S. Почему alloc] init]; - спросят некоторые, ведь new делает тоже самое? Часть ответа - "intended behavior explicit."
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru