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

Objective-C

Войти
Регистрация
Восстановить пароль
 
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
#1

Переопределение метода только в iOS >= 7.0 - Objective-C

27.03.2014, 17:07. Просмотров 782. Ответов 4
Метки нет (Все метки)

Такое возможно ? К примеру у меня есть класс, в нем метод
Objective-C
1
2
3
- (void)drawRect:(CGRect)rect {
     ....
}
В iOS < 7.0 он вообще не должен переопределяться. Я понимаю что нужно использовать директивы препроцессора но где-то туплю...
Вот что-то типо этого, только __IPHONE_OS_VERSION_MAX_ALLOWED - это константа, а мне нужно проверять версию на которой запущено приложение...
Objective-C
1
2
3
4
5
#if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_7_0
- (void)drawRect:(CGRect)rect {
     ...
}
#endif
Кто что может подсказать ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2014, 17:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переопределение метода только в iOS >= 7.0 (Objective-C):

Переопределение метода в сабклассе делегата - Objective-C
Сабж. Есть класс1, реализует некий метод некого протокола. Как в классе 2(наследник класса1) переопределить этот метод (не считая категории...

IOS Simulator пускает в сеть только по https - Программирование iOS
Добрый день! Проблема такова: до вчерашнего дня лень быть обновлять основной рабочий комп до 10.10, работал под мавериком (неохота было...

Переопределение метода - C#
Не могу переопределить в производном классе метод Change, чтобы изменялось еще и грузоподъемность. using System; using...

Переопределение метода - Java SE
Добрый Вечер!!! Объясните Пожалуйста поподробнее, что обозначет: &quot;переопределение метода&quot; . Приведите Пожалуйста пример! Как связана...

Переопределение метода equals - Java SE
В Хорстмане приводится следующий код, как пример переопределения метода equals(): public class Employee { ... @Override ...

Переопределение метода ToString() - C#
В общем есть Класс Text, у него я, пытаюсь, переопределить метод ToString(). Подскажите как можно переопределить метод так, чтобы туда...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
28.03.2014, 00:34 #2
Objective-C
1
[[UIDevice currentDevice] systemVersion]
и в дополнение
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
#define SYSTEM_VERSION_EQUAL_TO(v)                  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v)              ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v)                 ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
 
- (void)drawRect:(CGRect)rect {
    if (SYSTEM_VERSION_LESS_THAN(@"7.0")) {
        [super drawRect:rect];
    } else {
        // ...
    }
}
0
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
28.03.2014, 12:15  [ТС] #3
Нет нето... я имею ввиду что бы метод вообще не переопределялся в определенной версии iOS
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
28.03.2014, 12:44 #4
Pro2005, это как вы себе представляете?
Макросы они на этапе линковки сработают.
А дальше - рантайм, как показал Vorona.

Вы можете только подменить имплементацию. Например на какой-либо свой -customDrawRect
1
Pro2005
44 / 44 / 3
Регистрация: 27.05.2013
Сообщений: 163
28.03.2014, 12:53  [ТС] #5
Угу, понял...Спасибо !!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2014, 12:53
Привет! Вот еще темы с ответами:

Переопределение метода resizeEvent - C++ Qt
Надо написать событие при изменении размеров окна. Пишу в mainwindow.h следующее protected: virtual void...

Переопределение метода в Runtime - Программирование Android
Создаем класс именно так BroadcastReceiver receiver = new BroadcastReceiver(); Дальше, надо в receiver переопределить onReceive....

Переопределение метода Java - Java SE
Здравствуйте. Нужна помощь в переопределение метода по задаче. Программа работает, но переопределения не происходит. Я новичок, так что...

Переопределение метода __format__ - Python
Здравствуйте. Может ли кто-нибудь показать пример, или дать ссылку, на пример переопределение метода __format__, как он должен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.03.2014, 12:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru