質問: `UIColor` のカテゴリを作っている時に、そのメソッドの中で `self(UIColor型)` の `RGBA` を変更する必要が出ました。 インスタンスを再生成せずに RGBA を変更する方法を教えてください。
回答: `UIColor` はイミュータブルなので、変更はできず、作り直すことになります。 典型的には以下のような形になるでしょう。 ``` CGFloat red, green, blue, alpha ; BOOL ok = [ myOldColor getRed:&red green:&green blue:&blue alpha:&alpha ]; if ( !ok ) { // 色空間が RGB ではないなどの理由で取得失敗 } // HERE: red, gree, blue, alpha を変更する UIColor *myNewColor = [ UIColor colorWithRed:red green:green blue:blue alpha:alpha ]; ``` 参考: UIKit Framework Reference > UIColor Class Reference