【iOS】UIColorを定数として定義しておきたい時


Objc

色々な設定を定数としてどこかにまとめて定義したいわー ってやっていた時、数値や文字列などはグローバルなスコープで簡単に設定できたのですが、アプリ内で色んな所に使用するカラー設定とかもやりたかったのでメモ。

普通の定数

数値やStringなどはextern constで定数定義できますね。
こんな感じでしょうか。


//.h
extern const int intA;

//.m
const int intA 9;

UIColorでやる場合

何も考えないでconstで定義しようとしたら怒られた。 string以外のオブジェクトはあかんらしい。

どうしようかと悩んだら、世の中的にクラスメソッドで実装しているらしい。
というわけで、もう一度クラスメソッドの使い方を復習しつつ実装。

今回、寿司アプリを作るにあたって普通の赤よりも少し濃い目のマグロの赤身風の赤を多用したので、maguroRedという謎の名前を付けてクラスメソッドにしておきます。とりあえずどんな名前がいいのかわからないですがAppConfigと名づけておくことにします。

.h

@interface AppConfig : NSObject

+ (UIColor *) maguroRed;   
@end

.m

@implementation AppConfig

+ (UIColor *)maguroRed
{
    UIColor *color = [UIColor colorWithRed:0.88 green:0.00 blue:0.30 alpha:1.0];
    return color;
}

@end

あとは、Viewの実装クラス側でimportして
[AppConfig maguroRed]
として呼び出せますね。

余談

いま開発している(実際には開発し終わったつもり)の寿司アプリですが、今月の最初くらいにiTunesconnectで審査に提出したのですが、リジェクトされてしまいました!(´;ω;`)

早くリリー寿司たいです!!

おわり

 

2014-09-17 | Posted in Objective-CNo Comments » 


関連記事

Comment





Comment



*