ファンクションを除き、すべてのタイプはAny
に準拠していますか? AnyObject
はすべてのクラスタイプを表し、Any
は他のすべてのタイプを表す上位レベルにあることを理解します。スウィフトタイプに準拠する
func myFunFunction(someArgument: Any) {
...
}
そしてString
引数でそれを呼び出すとき::私はのように見えた機能を持っていたところが、私は最近の状況に出くわしたmyFunFunction("This is a string")
私はそのタイプString
がAny
型に変換することができないというエラーを取得します。
編集:
上記の例は単なる例です。答えを得るためにコードを単純化したいのですが、実際のコードは次のとおりです。
私はReactiveCocoaのコレクションビューバインディングヘルパーとして機能するクラスfinal class CollectionViewBinder: NSObject, UICollectionViewDataSource, UICollectionViewDelegate { }
を持っています。
initメソッド:
init(collectionView: UICollectionView, dataSignal: SignalProducer<[[Any]], NoError>, supplementarySignal: SignalProducer<[[Any]], NoError>?) { ... }
dataSignal
の種類がSignalProducer<[[String]], NoError>
であれば、私はタイプSignalProducer<[[String]], NoError>
は私のエラーが何かだと思うように私につながるSignalProducer<[[Any]], NoError>
型に変換することができないというエラーを取得するときですおそらくReactiveCocoaと関係がありますか?
がスイフトのNo.あらゆるタイプ「機能とは別に、迅速にすべてのタイプでなく、任意に準拠」、_including_機能は、任意に準拠します。 – matt
プレイグラウンドでは、エラーなしで 'myFunFunction("文字列 ")を呼び出すことができます。実際のコードを表示すると役に立ちます。迅速なエラーメッセージは誤解を招く可能性があり、実際のエラーはしばしば別の行にあるか、別の理由で発生します。 –
私はより多くのコードで更新しました。 – barndog