問題タブ [swift4.1]
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.
objective-c - BOOL は Swift 4.1 の Bool と互換性がありません
Objective-C クラスの Swift サブクラスでオーバーライドすると、次のようなメッセージが表示されます。
プロパティ タイプ 'BOOL' (別名 'bool') は、'ChildClass' から継承されたタイプ 'Boolean' (別名 'unsigned char') と互換性がありません
他のブール型を使用しようとしましたが、うまくいきません。
Swift で Objc BOOL を適切にオーバーライドする方法
Swift コード (サブクラス):
オブジェクトの親宣言:
警告が表示される Swift ブリッジング ヘッダー:
alamofire - Swift 4 から 4.1 にアップデートした後のキャストの問題
Swift 4.1 に更新した後、JSON から [[Float]] へのキャストが失敗するという奇妙な問題に遭遇しました。コードを簡単に示しましょう。
上記は Swift 4.0 ではうまく機能しましたが、突然失敗しました。私が得る応答は次のとおりです。
[[Float]] にハードキャストしようとすると、
「NSNumber を Float にブリッジできません」
これを修正する方法はありますか?Swift 4.0 を使用すると問題なく動作します。
swift4 - Swift Codeable 動作しない
Codable プロトコルを使用して、Api 応答を迅速な構造体にマップするモデルを作成しました。しかし、常に nil を返します。注: - モデルから isSelected を削除すると、完全に機能します。しかし、ユーザーからの選択を管理するには、このキーが必要です。また、クラスでこのアプローチを試みると、常に self is immutable エラーが返されます。この問題に直面した人もいますか?このコードを迅速なクラスに変換するのを手伝ってください
ios - Swift 4.1 配列プロトコルの適合性
Swift 4.1 に切り替えたばかりで、配列の型の適合性に問題があります。ここに古い方法があります:
これにより、swift 4.1 で次のエラーが発生します。
「XDRDecodable」では、「Element」が「Decodable」に準拠する必要があります
そこで、宣言を次のように変更してみました。
これをコンパイルしても配列のエンコードに失敗し、次の警告が生成されます。
警告: Swift ランタイムは、条件適合性の動的クエリをまだサポートしていません ('Swift.Array': 'stellarsdk.XDREncodable')
これは進行中の作業であることがわかりましたが、型の適合性が適切に実装されるまで、これに対する回避策はありますか? 今のところSwift 4.0のように動作させたいと思います。