問題タブ [property-wrapper]
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.
ios - Swift プロパティ ラッパーの初期化エラー
メールの検証にPropertWrapperを使用しようとしています。しかし、空の文字列で eamilId 変数を初期化しようとすると、エラーが発生します: 呼び出しの引数ラベルが正しくありません (have 'wrappedValue:', expected 'emailId:')
これが私のビューコントローラーのコードです
そして、私のプロパティラッパーのコードは
EmailWrapper を使用しているときに、 ViewController でemailIdをデフォルト値 ( String() ) で初期化するにはどうすればよいですか?
binding - SwiftUI ビューを Realm オブジェクトにバインドする予期しない動作
バックエンドに Realm を使用するアプリの UI を開発しました。テキストは、画面を効率的に使用するために「フローティング」ラベルを使用するカスタマイズされた TextField にユーザーが入力します。ラベル アニメーション (非常に単純なロジックに基づく) は、Realm オブジェクトのプロパティとカスタム ビューの間の Binding の状態をチェックすることによってトリガーされます。
ビューのプロトタイプを作成していたときに、構造体に基づく @State または @Binding プロパティを使用したところ、ビューは期待どおりに動作しました。ただし、メイン アプリでこれを使用する場合、@State または @Binding はクラス (レルム オブジェクト) をラップし、遷移はトリガーされません。これは、ビューが内部状態の変更を登録しないため、再生成されないためです。 -色とオフセットを変更してレンダリング。
クラスを操作するときに @ObservableObject を使用する必要があることに気付いたとき、解決策があると思いましたが、これも機能しません。よく考えてみると、これは理にかなっているように思えますが、さまざまなプロパティ ラッパーがどのように機能しているかについて少し混乱しています。
これには回避策があり、最初の呼び出しポートは willChange にフックして必要な状態を変更する可能性が高いと思われます。しかし、それまでの間、私は少しぼんやりしているので、誰かがここで何が起こっているのか説明できますか. たまたま解決策が手元にある場合、これは私が狂った接線に行くのを止めるかもしれませんか?
カスタム ビュー:
機能の実装:
また...
オブジェクトで @State/@Binding を使用する:
swift - Swift @propertyWrapper 'Self' は、プロパティ ラッパー構造体ではなく、囲んでいる構造体/クラスを参照します
Swift で単純なプロパティ ラッパーをコーディングし、プロパティでプロパティ ラッパー構造体/クラスを使用Self
して参照しようとしました。self
Reference<T>
projectedValue
しかしSelf
、 type を参照していないようReference<T>
です。たとえば、構造体でそのようなプロパティを宣言してから、次を使用するとしますprojectedValue
。
変数ref
の型はTest
ではなく ですReference<T>
。このコードはコンパイルされず、セグメンテーション違反が発生しますが、Xcode はインタラクティブ エラーを返しません。コードを期待どおりに機能させるには、次のように宣言する必要があります。
これは非常に奇妙に感じます。これは意図した動作ですか? Apple のドキュメントを確認しましたが、この動作は文書化されていません。