質問: プロトコルへの適合チェック(is,as)は、@objcで修飾したプロトコルものに限定されるみたいなのですが、@objcで修飾されていないプロトコルを適合したクラス、構造体は、プログラマが実装時に責任を持つことになるのですか? @objcで修飾されていないプロトコルはどうのように考えるべきなのですか。 なにかピンときません。 教えてください
回答: それは昔のSwiftの制限ではないでしょうか。初期のSwiftはランタイムの制限により実行時にプロトコルの適合を判断できませんでしたが、現在は`@objc`の付いてないプロトコルに対しても、`is`、`as`でプロトコルに適合しているかどうかをチェックすることができます。 より詳しくは下記のドキュメントの「Checking for Protocol Conformance」のところをご覧ください。 > > Checking for Protocol Conformance > > You can use the is and as operators described in Type Casting to check for protocol conformance, and to cast to a specific protocol. Checking for and casting to a protocol follows exactly the same syntax as checking for and casting to a type: > > > > >