したがって、すべてのUIViewサブクラスのプロパティをmyView.property
のように設定する必要があります。多くのサブクラスでは、いくつかの特定の機能があります。たとえば、UILabel
といっても、そのサブクラスには特定のものだけがラベル付けされているようです。他の要素...UIViewとそのサブクラスで異なるメソッドを持つ同じプロパティ
に同じだから私は本当に次の操作を実行できるようにする必要があります:スウィフトにおけるこのような状況のために設計する方法について
MyView.property.methodSharedByAllUIViewSubclasses
MyImageView.property.someImageViewSpecificMethod
MyLabel.property.onlyLabelSpecificMethod
すべてのヘルプは大歓迎されます。
編集:私はこれを達成するためのプロトコルとプロトコルの拡張機能を使用したいと思い ...迅速な3では
に既存の変数/関数をオーバーライドすることができます。 UILabelを検討してください。 LabelExtendableです。これは空ですが、空のExtendableに準拠しています。したがって、UILabel自体はUIViewから継承される限り、まったく影響を受けません。 UIViewは 'lui'プロパティを持ちます:' let lab = UILabel(); lui = lab.lui'をコンパイルします。何が起こるはずですか?あなたの質問は、 'property'というプロパティのことを話しているようですが、あなたのコードには存在しません。 – matt
また、あなたはタタリアスで非常に不思議な何かをしています。 – matt
まあ、明らかにコードがうまくいかず、私は何をしようとしているのかを説明したいと思っていました。最後の3行は希望の結果です – Ondrej