問題タブ [swift-extensions]
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.
arrays - Swift で配列から nil をフィルタリングする拡張機能の作成
オプションの T の配列をオプションではない T の配列に変換できるようにする拡張機能を Array に書き込もうとしています。
たとえば、これは次のようなフリー関数として記述できます。
しかし、これを拡張機能として機能させることはできません。拡張機能はオプションの値の配列にのみ適用されることをコンパイラに伝えようとしています。これは私がこれまでに持っているものです:
(コンパイルされません!)
swift - NSManagedObject に影響する keyPathsForValues
Bonjour、アーロンの本から客観的な演習を迅速に翻訳したいのですが、解決策が見つかりません. Objective'c コードは次のとおりです。
開発者向けドキュメントで関数を見つけましたが、このコードの実装方法がわかりません。
より明確にするために、これはAppleのドキュメントです
一対一の関係
対 1 関係の通知を自動的にトリガーするには、keyPathsForValuesAffectingValueForKey: をオーバーライドするか、依存キーを登録するために定義されたパターンに従う適切なメソッドを実装する必要があります。
たとえば、個人のフル ネームは姓と名の両方に依存します。完全な名前を返すメソッドは、次のように記述できます。
fullName プロパティを監視するアプリケーションは、firstName プロパティまたは lastName プロパティのいずれかが変更されたときに通知を受ける必要があります。これらはプロパティの値に影響を与えるためです。
1 つの解決策は、keyPathsForValuesAffectingValueForKey をオーバーライドすることです。つまり、個人の fullName プロパティが lastName および firstName プロパティに依存するように指定します。リスト 1 は、そのような依存関係の実装例を示しています。
リスト 1 keyPathsForValuesAffectingValueForKey の実装例:
この機能を迅速に実装する方法を教えてもらえますか?
助けてくれてありがとう。
swift - Bytes の配列から Struct への変換。迅速
バイトのダンプがあり、構造を解析する必要があります
c++ の例:
どうすればswiftでできますか?
swift - Swift 構造体拡張関数 - 「'self' で 'origin' に代入できません」
Swift の構造体には、関数を含めることができ、拡張機能を含めることができます。涼しい!この関数をより多くのクラスで利用できるようにし、引数の受け渡しを減らすための巧妙な方法のように見えます。マップ ビュー コントローラーで関数が最初に表示された方法を次に示します。
trackRect
クラスの MKMapRect メンバーでした。
MKMapRect は展開されて各ポイントが含まれるようになり、必要に応じてマップをリージョン全体にリセットしてすべてのポイントを表示できるようになります。
これを MKMapRect の拡張機能にしようとしました (部分的 - エラーまで表示されます):
自分自身に代入できるとは思っていませんでしたが、構造体のメンバーに代入できるとは思っていました。これはどのように行うことができますか?
swift-extensions - Swift 拡張宣言エラー:「宣言はファイル スコープでのみ有効です」
計算されたプロパティを含む単純な Swift 拡張機能を作成しようとしています。このコンパイル エラー (「宣言はファイル スコープでのみ有効です」) が発生する理由がわかりません。エラーは「private extension OpStack」行の先頭にあります。(このコードはクラスに含まれています。)
拡張機能内のすべてのコードを削除しても、同じエラーが発生します。
コードは次のとおりです。