問題タブ [anyobject]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - Swift の型推論と型チェックの問題
正しく行う方法などの答えを探しているのではなく、なぜこれが起こるのか.
コードは次のとおりです。
if
最初のループで、param
が にキャストされてからInt
出力されることを理解してい1
ます。
しかし、なぜ 2 番目のif
ループでif value is Int
true を出力して出力するの1.2
でしょうか。
ios - [CustomClass] を [AnyObject] に変換する方法
カスタム class の配列があります[CustomClass]
。に変換しようとしてい[AnyObject]
ます。
次のエラーが表示されます。
「AnyObject」は「CustomClass」のサブタイプではありません
と
タイプ '[CustomClass]' の値を強制的にタイプ '[AnyObject]' に変換できません。
私は何が欠けていますか?
ios - オプションの拡張>
Optional<Dictionary<String, AnyObject>> を拡張したいと思います。どうすればこれを書くことができますか?
私はそれが次のようなものになることを期待していました
しかし、Dictionary がパラメータを直接取得することを望んでおり、これが機能したとしても、String がプロトコルではないと不平を言うと思います。だから私は試します
しかし、ここでそれは不平を言いますtype 'Wrapped' constrained to non-protocol type 'Dictionary<String, AnyObject>'
arrays - グローバル変数が Swift で機能しない
タブを使用して2つのビューを切り替える小さなタブ付きビュープログラムを作成しました。リストと呼ばれるグローバル変数が 1 つあります。これは、両方のビューがアクセスして変更する必要がある情報を含む配列です。ただし、NSUserDefaults を使用して、アプリを閉じた後に将来使用するために配列を保存しようとすると、「タイプ 'Array<_>' の値を予期される引数タイプ 'AnyObject ' に変換できませんか?」 . 2番目のビューのコードは次のとおりです。
これは、リスト変数がグローバル変数であるという事実と関係があると推測していますが、この問題を完全に診断するための助けをいただければ幸いです!
編集:
次のようにグローバル変数リストを宣言することで、この問題を解決しました。
var list:[文字列] = 文字列
それ以外の:
変数リスト:配列 = []
ios - 複数のタイプのオブジェクトをダウンキャストする方法は?
Apple は、同じ型のオブジェクトをダウンキャストする例を示しています。
次に、抽象変数「オブジェクト」を作成し、期待どおりにキャストすることで、個々の属性にアクセスできます (ムービー) :
しかし、次のレベルに進んで、たとえば映画のサブクラスがあるとしたらどうなるでしょうか。
無声映画
コメディ
アクション
それぞれが同じ属性 (名前と監督) を持っています。
親クラスとしてそのサブクラスを認識できると想定したため、上記と同じ方法で「ムービー」としてキャストしようとしましたが、もちろんこれは機能しませんでした。そうでなければ、この質問は存在しなかったでしょう!
ios - Objective-C エラーから配列をブリッジできません
配列を AnyObject 型としてインスタンス化し、文字列オブジェクトを配列に追加した後、次のコードはコンパイルされますが、この配列をテキストフィールドに表示しようとするとクラッシュします。デバッグ コンソールに出力しようとすると、プログラムは依然としてクラッシュし、次のエラー メッセージが表示されます: 「致命的なエラー: アレイは Objective-C からブリッジできません」。次の方法はswiftに対応していませんか?
print((jumperCablesRoles as! [文字列]).joinWithSeparator(","))
コードベース全体は次のとおりです。