問題タブ [accessor]

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.

0 投票する
1 に答える
305 参照

cocoa - Core Data の別のエンティティからプログラムによって 1 つのエンティティに値を設定する

Core Data では、モデルに Worker、Task、SubTask の 3 つのエンティティがあります。それぞれに、その下のエンティティとの対多の関係と対 1 の逆関係があります。Worker には多くの Task があり、各 Task には多くの SubTask があり、各 SubTask には 1 つの parentTask があり、各 Task には 1 つの Worker があります。SubTask には、newObject メソッドで現在の時刻に設定される startTime 属性と、SubTaskArrayController クラスの endSubTask メソッドをトリガーするボタンがあります。endSubTask は、startTime から現在までの時間を計算し、その値を SubTask 属性 timeWorked に設定します。ここまでは順調ですね。問題:

選択したタスクの totalTimeWorked 属性を取得してそれ自体を更新する最良の方法は何ですか?

私が何かをしようとすると

[currentSubTask setValue:newTotalTime forKey:@"parentTask.totalTimeWorked"];

私は得る:

[ setValue:forUndefinedKey:]: エンティティ SubTask は、キーparentTask.totalTimeWorked のキー値コーディングに準拠していません。

現在選択されている SubTask の parentTask の属性にアクセスするにはどうすればよいですか?

0 投票する
3 に答える
2773 参照

c# - C# は、アセンブリ内のすべての型にアクセス可能なアクセサーを設定し、派生型に対してのみアクセサーを取得します。方法?

アクセス修飾子のない型のこのプロパティ(つまり、internalアクセス):

SomeType のアセンブリ内のすべての型とアクセサーを使用できるようgetにしsetます。問題: アクセスをSomeType (および実際の SomeType) から派生した型のみに制限するにはどうすればsetよいですか?

はコンパイラによって拒否されます。これは、protectedよりも制限が緩いと言われているためですinternal(おそらく:protectedとの交差がありますが、完全に含まれてinternalいるわけではありません--> 派生型は の範囲を超えて存在できます)。internalinternal

アセンブリ内の任意の型からアクセスされ、アセンブリ内の派生型によってのみ設定されるコードは何でしょうか?

編集: 回答を確認した後、解決策に違いが生じる可能性があるため、プロパティの別の特性を追加する必要があると思います: プロパティのタイプは実際にはSomeTypeです。編集されたコードは次のとおりです。

プロパティが宣言されている場合public、コンパイラはエラーを発行します (プロパティ タイプ SomeType は、プロパティ Length よりもアクセスしにくくなります)。

0 投票する
0 に答える
438 参照

apache-flex - PHPドメインオブジェクトでゲッターとセッターを使用し、Zend_Amfで正しく転送する方法

使い始めたばかりZend_Amfですが、これまでのところ、Flashからサーバーにオブジェクトを送信するのに非常に満足しています。サーバーからFlash環境にオブジェクトを送り返すと、少し頭痛の種になります。私のPHPオブジェクトには、ほとんどの場合、カスタムのgetterメソッドとsetterメソッドを持つプライベートプロパティが含まれています。これらのプロパティをどのようにZend_Amf認識しますか?サーバーからPHPにオブジェクトを送り返すとき、それはただ試みます。このような注釈はあり@propertyますか?どんな助けでも大歓迎です、今のところ私はオブジェクトを値を持つstdClassインスタンスに変換しようとし$_ecplicitTypeます。

0 投票する
1 に答える
3846 参照

objective-c - セカンダリ スレッドから NSArray プロパティの内容に安全にアクセスするにはどうすればよいですか?

NSArray次のようにプロパティとして公開されるインスタンス変数を保持するアプリ (GC ではなく保持/リリースを使用) があります。

を使用して切り離されたセカンダリ スレッドから、この配列の内容にアクセスしたいと考えています-performSelectorInBackground:withObject:。二次スレッドの実行中に配列が変更される可能性があり、実際にそうなる可能性があります。

二次スレッドでは、次のようなことをしたい:

@synchronizedスレッドのドキュメントを読むと、次のようにアクセサでディレクティブを使用できるはずです。

スレッドセーフを確保するために必要なのはこれだけですか、それとももっと複雑ですか?

更新:その後、Apple のサイトで、この問題について詳しく説明している素晴らしい記事を見つけました: http://developer.apple.com/mac/library/technotes/tn2002/tn2059.html

0 投票する
4 に答える
100 参照

php - この機能を PHP で実装するにはどうすればよいですか?

存在しないメンバーにアクセスすると、自動的にオブジェクトを作成します。

出来ますか?

0 投票する
3 に答える
299 参照

objective-c - Objective-C :: メソッドを使用してオブジェクトを変更する

「カード」を保持するための NSMutableArray* cardSet を含む「CardSet」というクラスがあり、これを拡張して「DeckCards」を作成します。「CardSet」に「(void)addCard:(Card*)」というメソッド (および同様に「removeCard」メソッド) が必要です。カードセットにアクセスして設定する方法に「addCard」を追加したいと思います。さらに良いのは、「addCard」メソッドを使用して cardSet を初期化することです。クラスファイル「CardSet.h」は次のとおりです。

メソッドファイルには次のように書かれています。

これは問題なくコンパイルされます。「addCard」メソッドを 52 回使用して「DeckCards」インスタンスを初期化したいと思います。DeckCards セッター メソッドで addCard を 52 回呼び出し、その「cardSet」のサイズを要求すると、0 が返されます。

これはスコープまたは特権の問題のように見えますか? 「addCard」メソッドにセッター権限を与えることはできますか? セッター引数は、戻り値およびそれぞれのメンバー型と同じでなければなりませんか?

[「DeckCard」の外側に NSMutableArray オブジェクト「deck_cards_temp」を作成し、これに 52 枚のカードを追加して、「CardSet」から継承されたセッターを介して「DeckCards」インスタンスのメンバーを設定するために渡すことで、上記の問題を回避できます。これはあまり満足のいくものではありません!]

何をアドバイスしますか?ご理解とご協力をよろしくお願いいたします。

0 投票する
3 に答える
1138 参照

c# - 構造体にアクセサを作成して、他のデータ型との間で自動的に変換できますか?

次のようなことは可能ですか?

誰かがこれをやろうとした場合、

0 投票する
2 に答える
964 参照

c++ - オーバーロードされた=演算子を使用したC++ラッパー

私はintの周りに非常に単純な(今のところ)ラッパークラスを開発しようとしており、次のようなものを実現するために=演算子をオーバーロードすることを望んでいました:

しかし、私はこれができないことを集めています。セッターの実装は非常に簡単で、次のようになります。

しかし、私が集めている少しのグーグルから、この方法でゲッターを行う方法はありません。私の理解では、これは=演算子は変数に割り当てるためにのみオーバーライドでき、 intはプリミティブ型であるため、デフォルトの=の実装をオーバーライドできないためです。これは正しいです?そうでない場合は、どうすればゲッターを作成できますか?

それが正しければ、誰かが似たようなものについて何かエレガントな提案がありますか?私が見つけることができる最も近いものは、変換演算子のオーバーロードです:

単純なgetVal()メソッドよりもほとんど優れていないので、私にはそれはかなり無意味に思えます。

提案をありがとう!

0 投票する
1 に答える
413 参照

c# - CodeDom を使用してアクセサーのアクセシビリティを変更するにはどうすればよいですか?

C# では、次のように、プロパティのアクセサーに対してより制限的なアクセサーを使用できます。

CodeDom を使用してコードを生成するときにこれを達成するにはどうすればよいですか?

0 投票する
4 に答える
1326 参照

c# - 繰り返されるアクセサ呼び出しのコンパイラ最適化

最近、一部の種類の財務計算では、計算のさまざまな段階から数値を取得する必要がある場合は特に、次のパターンをたどってテストする方がはるかに簡単であることがわかりました。

明らかに、これにより、特定の式内で同じアクセサへの複数の呼び出しが発生することがよくあります。コンパイラーが、状態の変化を伴わずにこれらの繰り返される呼び出しを最適化するのに十分賢いのかどうか、またはこのスタイルがまともなパフォーマンスの低下を引き起こしているのかどうかについて興味がありました。

さらなる読書の提案は常にありがたいです