親切すぎるiPhoneアプリ開発の本

スライダのように連続して値を変えるには? - 公開か非公開か

Icon comment count 0
Icon stock count 0

5 公開か非公開か

課題1の解答例で示した、クラス定義内で入れ子状にクラス定義をおこなう手法は、多人数での開発で効果を発揮します。同じように効果を発揮するのがprivateキーワードの利用です。

例えば、解答例のPallet.Indicatorクラスは、このままだと誰でも利用可能です。いったん誰かに使われてしまうと、将来、デザインを変えようとしても、利用者一人一人に変更の確認が必要になってしまいます。そういう事態を避けたい場合には、privateキーワードを指定します。

そうすることでPallet.Indicatorクラスはソースコードファイル外に非公開となり、Palletクラス内でしか利用できなくなります。外部で使われる心配はなくなり、完全に自分の制御下に置くことができるわけです。

この場合、プロパティとして用意しているindicatorにもprivateキーワードを付けて外部から利用できないようにする必要があります。indicatorが公開されたままだと、その型であるPallet.Indicatorクラスも公開することになり矛盾が生じるからです。

↓ Pallet.swift サンプル:10/Pallet-06-indicatorを変更
class Pallet: UIControl {・・・
    ↓非公開とし、外部からは使えないようにする
    private class Indicator : UIView {
         ・・・
    ↓非公開とし、外部からは使えないようにする
    private let indicator:Indicator

逆に外部でもPallet.Indicatorクラスをどんどん利用してもらい、将来の対応の苦労も気にしないなら、そのまま公開するといいでしょう。汎用性があり、安定動作するクラスの提供はチ

出典情報

Medium

親切すぎるiPhoneアプリ開発の本

  • 著者: 國居 貴浩

コメント

    コメントはありません