大解剖!UIColorファミリー : iOSDC Japan 2020 day2

2 min

皆さんお馴染みUIColorは色データを記憶しているクラスですね。
色の名前やコンポーネント値を決定してUIViewに与えるだけの超単純なヤツ……

ではありません!UIColorがサブクラスを大量に持っているって知っていましたか?その数なんと18個(私調べ)!稀に見る大家族です。しかし我々がサブクラスを意識することはありません。UIColorのサブクラスは全てprivateで、表に出てくることはありません。

それにしても、18個もprivateなサブクラスを持つなんて、UIColorはどんな仕組みになっているのでしょうか?そもそもpublicなイニシャライザは10個だけ、メソッドも8個しかないのに何がどうなってるの??

本セッションでは、UIColorの構成を考察したり、ドキュメントにない細かい仕様を確認したりして、UIColorともっと仲良くなります。

【対象】

  • UIColorをご愛用の皆様
  • UIColorは色空間とコンポーネント値を保持してるだけの単純なヤツと思っている皆様
  • dynamic colorを酷使する予定の皆様

【トーク内容】

  • UIColorの全体像ってどうなってるの?UIColorのヘッダを覗き見しちゃおう!
  • そんなにサブクラスがあって何かメリットがあるの?
  • サブクラスはそれぞれ何をしてるんだろう?
  • dynamic colorの仕組みってどのように実現しているのだろう?サブクラスを自作して内部実装と仕様を考察してみよう!
  • ↑dynamicなサブクラスの自作が実質不可能になっているという話も。

注:本プロポーザル中の数字はiOS13.5時点のものです。iOS14でイニシャライザが1つ増えそうだということは、つまり?

発表資料

Youtube

上がり次第追記します

発表者

しもとり

SNS等

Twitter : S_Shimotori_pub

カテゴリー:
タグ:
関連記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です