問題タブ [declared-property]
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 - サブクラスを使用するためだけにスーパークラスのプロパティを作成する理由
私は、スタンフォードのオンライン コース iPhone および iPad 用の iOS 7 アプリの開発 ( iTunes U のコースへのリンク) をフォローしています。
最初の課題では、メモに記載されているいくつかのクラス (Card、PlayingCard、Deck、PlayingCardDeck) を作成し、View Controller を更新してトランプのデッキにランダムなカードを表示するように生徒に求めます。
必要なタスクには次の 2 つがあります。
- タイプ Deck * のプライベート プロパティを CardGameViewController に追加します。
- 遅延インスタンス化を使用して、このプロパティを (プロパティの getter で) 割り当てて初期化し、PlayingCards の完全なデッキで開始するようにします。
コードに以下を追加しました。
ヒントは次のことを示します。
- 追加する必要があるプロパティのタイプは (PlayingCardDeck ではなく) Deck である必要がありますが、PlayingCardDeck を使用して遅延インスタンス化する必要があることは明らかです。PlayingCardDeck は Deck を継承するため、これはオブジェクト指向プログラミングでは完全に合法です。オブジェクト指向プログラミングのこの概念に混乱している場合、このコースはかなり難しいかもしれません。
PlayingCardDeck は Deck のサブクラスです。それが「デッキ」であることを理解しています。
私が理解できないのは、PlyaingCardDeck の代わりに Deck のプロパティが使用されている理由です。
objective-c - これらの変数を初期化するときの self.variable と _variable の使用の違い
インスタンス変数とプロパティを知っています。UILabel
このように初期化する人をよく見かけます
self.label
では、オブジェクトを使用することと_label
設定することの違いは何ですか?
objective-c - -init でプロパティの ivar を直接設定すると、オブジェクトは保持されますか?
init
私の理解では、インスタンス変数はメソッド内から直接アクセスする必要があります。例えば:
_name
変数について悩んでいます。両方のinit
例で、_name
保持されますか? この例では、ARC を使用しています。
ios - iOS 7 でプロパティが初期化されない
私は iOS 7 向けに開発していますが、手動でゲッターを記述する必要があります。そうしないと、プロパティが初期化されません。これらのプロパティを手動で合成しようとしましたが、それはもう必要ないはずですが、それはできません。
以下のビュー コントローラーでは、motionTracker
初期化されないプロパティを使用しています。私はすべてのプロジェクトで同じ問題を抱えているので、それが私の誤解であることはわかっています。
にはメソッド用のmotionTracker
パブリック API があるため、startsTrackingMotion
これが機能しない理由はわかりません。
objective-c - カスタムアクセサーメソッドを実装するときに、宣言されたプロパティ属性はオーバーライドされますか?
そのようにプロパティを宣言するとします
次に、カスタム セッター メソッドを作成します。
コンパイラは、copy
このセッター関数がこれと同等になるようにキーワードを解釈しますか?
それとも、キーワードが動作と一致するようにこのように記述するのは私の責任ですか?