問題タブ [modern-runtime]

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 投票する
3 に答える
4144 参照

iphone - バッキング変数がない場合に Xcode デバッガーで合成されたプロパティの値を確認する

最近、iPhone プロジェクトで合成インスタンス変数を使い始めました。問題は、合成された ivar がデバッガーに表示されないことです。明示的に宣言されたインスタンス変数を使用していないときに、デバッガーでオブジェクトのプロパティを表示する方法はありますか?


2番目の質問を明確にする必要があります。プロパティにアクセスする方法やプロパティが何をするかについて質問しているわけではありません。私はそのすべてを知っています。この投稿に基づいて、合成されたivarを使用すると、インスタンス変数に直接アクセスできないという印象を受けました。以前は不可能だと思っていたことが明らかに可能になりました。何が起こっているのだろうと思います。

Xcode 3.2.4/iPhone Simulator/LLVM Compiler 1.5 を使用しています。

0 投票する
5 に答える
847 参照

objective-c - @syntheized インスタンス変数を使用したくないのはいつですか?

最新の Objective-C ランタイムでは、次のようなことができます。

これは、プロパティのアクセサーを合成するだけでなく、インスタンス変数自体も合成するため、このクラスのメソッドの1つで言うことができ[stringProperty length];、インスタンスを宣言したかのように機能します変数。

私は今、すべてのコードでこれを使い始めました。なぜなら、何度も何度も書かなければならないことが 1 つ減ったからです。そして、clang 2.0 コンパイラで、スキップすることさえできると聞いたことがあります@synthesize(ただし、それは別の問題です)。しかし、私は疑問に思っていました、これを行うことの欠点は何ですか? プロパティに加えてインスタンス変数が本当に必要になるのはいつですか?

変数をプライベートに保ち、外部からのアクセスを許可したくない場合があることはわかっています (ただし、通常は、プライベート クラス拡張でプロパティを宣言するか、プロパティをまったく作成しません。アクセサは必要ありません)。

これをしたくないときはありますか?

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

objective-c - クラス拡張で新しいプロパティを宣言するのはObjective-Cの悪い習慣ですか?

クラス拡張の大きな利点の 1 つは、クラス拡張を使用すると、ヘッダー ファイルで読み取り専用プロパティを宣言し、クラス拡張でこのプロパティを readwrite プロパティとしてオーバーライドできることです。以下のように:

ただし、最新のランタイムを使用する場合は、クラス拡張でまったく新しいプロパティを宣言することもできます (存在しない場合は、そのプロパティの iVar も生成します)。

これが私の質問です。クラス拡張でまったく新しいプロパティを宣言すると、どういうわけか副作用があると思います。クラス拡張はヘッダー ファイルにない可能性があり、クラスをサブクラス化する他の誰かがその「秘密のプロパティ」について知らない可能性があるためです。そして、彼がその「秘密のプロパティ」と同じ名前のプロパティを宣言した場合。そして、この新しいプロパティの getter メソッドと setter メソッドは、スーパー クラスのメソッドをオーバーライドします。これは問題ではありませんか?そして、なぜ現代のランタイムはそのようなことが起こるのを許すのでしょうか?

編集 このトピックについて別の質問を投稿しました。チェックしてください: クラス拡張 (Ojbective-C) で新しいプロパティを宣言するリスク、解決方法は?

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

iphone - インターフェイス ブロックでプロパティと ivar の両方を使用する Objective-c の最新のランタイム

インターフェイス ブロック内で ivar を宣言し、同じプロパティを宣言するコード例 (Beginning iPhone 4 Development の本から) を見てきました。このような:

これの目的/利点は何ですか?私が理解しているように、最新のランタイム バージョン (iPhone および 64 ビット OS X アプリケーション) では、プロパティを宣言するだけでよく、インターフェイス ブロック内の ivar の宣言を省略することができます。類似スレッドのこの回答によると、デバッグ目的で使用されます。しかし、デバッグ以外に、このアプローチを使用する利点はありますか?

乾杯、

ピーター

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

windows - Window 8/RT アプリケーションでのスクロールバー スタイルの検出と実装

ScrollViewer 内に配置するカスタム コントロールを開発しています。Scrollviewer のビジュアル スタイルを適用するために、generic.xaml をカスタム コーディングしました。

私が直面している問題は、ユーザーがタッチ デバイスを使用しているかどうかに基づいて、IndicatorMode を TouchIndicator/MouseIndicator に設定する必要があることです。それを行う方法はありますか?

ありがとう

アルン・セルヴァ・クマール。B

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

c++ - 最新の UI アプリをすべて一覧表示するにはどうすればよいですか?

Windows 8 マシンにインストールされているすべてのモダン UI アプリを一覧表示したいと考えています。

インストールされているすべてのモダン UI アプリを標準のデスクトップ アプリケーションから一覧表示する方法はありますか (管理者権限あり)。