Objective C, определяющий константы UIColor

Я считаю, что главный ответ успешно перенаправляет не-www на www (ex: mysite.com -> www.mysite.com), но не учитывает поддомены подстановочных знаков, что приводит к:

random.mysite.com -> www.random.mysite.com

Вот решение с / без HTTPS

HTTP

RewriteEngine On

RewriteCond %{HTTP_HOST} !www.mysite.com$ [NC]
RewriteRule ^(.*)$ http%{ENV:protossl}://www.mysite.com/$1 [L,R=301] 

HTTP / HTTPS

RewriteEngine On

RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ - [env=protocol:https]

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ - [env=protocol:http]

RewriteCond %{HTTP_HOST} !www.mysite.com$ [NC]
RewriteRule ^(.*)$ %{ENV:protocol}://www.mysite.com/$1 [L,R=301]

* note: я не тестировал https, потому что в настоящее время у меня нет сертификата для тестирования, но если кто-то может проверить или оптимизировать то, что у меня есть, это будет потрясающе.

28
задан futureelite7 13 May 2010 в 02:54
поделиться

4 ответа

UIColor не является изменяемым. Я обычно делаю это с цветами, шрифтами и изображениями. Вы можете легко изменить его для использования синглетонов или иметь статический инициализатор.

@interface UIColor (MyProject)

+(UIColor *) colorForSomePurpose;

@end

@implementation UIColor (MyProject)

+(UIColor *) colorForSomePurpose { return [UIColor colorWithRed:0.6 green:0.8 blue:1.0 alpha:1.0]; }

@end
47
ответ дан drawnonward 28 November 2019 в 02:22
поделиться

Для простоты я сделал это:

/* Constants.h */
#define myColor [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0]

Не забудьте пропустить ';' так что вы можете использовать его как нормальное выражение.

Я не уверен, что с этим подходом что-то не так с технической точки зрения, но он работает нормально и избегает ошибки инициализатора констант во время компиляции - этот код эффективно застрял на месте, где бы вы ни поместили «myColor», поэтому он не никогда не скомпилируется, пока вы его не используете.

31
ответ дан Fateh Khalsa 28 November 2019 в 02:22
поделиться

Часто люди помещают глобальные константы в одноэлементные объекты - или, как уже отмечалось, вы можете сделать их доступными с помощью метода класса некоторого класса.

0
ответ дан 28 November 2019 в 02:22
поделиться

Используйте AppController, чтобы сделать цвета доступными глобально, а не статической переменной. Таким образом, это имеет смысл с точки зрения архитектуры, а также, если вы хотите гипотетически изменить цветовые схемы, даже во время работы, это будет просто один или два метода в AppController

-1
ответ дан 28 November 2019 в 02:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: