自分のカスタムプロトコルに準拠したUIViewのタイプが必要です。私はこのようにそれをやろうが、Xcodeはそれが適切な宣言ではないことを言う:プロトコルの問題を伴う迅速なタイプアリア
typealias ViewThatConformsToProtocol = UIView: MyCustomProtocol
、これはあまりにも動作しません:
typealias ViewThatConformsToProtocol = UIView, MyCustomProtocol
しかし、私はのためにサブクラスを使用したくありませんそれ。それを行う方法はありますか?
P.S.サブクラスで 私はそれこれたい:
class ViewThatConformsToProtocol: UIView, MyCustomProtocol {
}
しかし、私はちょうど私の見解は、こののbehaviouをサポートしていることを知っておく必要がある場合ので、それは例えば(私のデザインパターンに対してだから、私はサブクラス化を使用したくありませんこのビューでViewThatConformsToProtocolをサブクラス化する必要はありません。また、View1はProtocol1とProtocol2に確認できますが、View2はProtocol1とProtocol3に準拠することができます。 Objective-CではUIView *viewForProtocol = (UIView<MyCustomProtocol> *)view1
を簡単に宣言することができますが、SWIFTでは不可能と思われるので、私はウォークアラウンドをお探しになります
私はあなたが達成したいものを実際には得られません。 「サブクラスを使用した」場合は、どのように行うのか教えてください。 – Sweeper
@ Sweeper、私はコードとコメントを追加しました。 –
@MaxPevsner、この記事は役に立たなかった –