問題タブ [synthesize]
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 - Objective-c - デリゲートを宣言する適切な方法は何ですか?
私は Objective-C と iOS の開発に不慣れで、私のクラスではデリゲート プロトコルを宣言しています。
私はそれを行ういくつかの例を見つけました.それらはすべて非常に似ていますが、自分自身で明確にして理解したいいくつかの違いがあります.
例 1:
(リンク - https://stackoverflow.com/a/12660523/2117550およびhttps://github.com/alexfish/delegate-example/blob/master/DelegateExample/CustomClass.h )
MyClass.h
MyClass.m
例 2: (リンク - http://www.tutorialspoint.com/ios/ios_delegates.htm )
実際には、これら2つの違いを除いて同じです..
異なる点:
- 例 1 ではプロトコルの前に宣言し
@class
ていますが、本当に必要ですか? または単にベストプラクティス。2 番目の例は、この宣言がなくても問題なく動作します。 - 例 1 では
@synthesize delegate
、私が理解しているように、プロパティのゲッター/セッターを作成しますが、本当に必要なのでしょうか? 2 番目の例は、これがなくても機能します。
どちらの例も問題なく動作します。私の中で起こっている混乱を取り除きたいだけです。
ありがとう!
time - 合成可能な Verilog での時間遅延の作成
シミュレーションで機能するだけでなく、合成される時間遅延を作成しようとしています。遅延は 1.439548 ミリ秒、またはその精度にできるだけ近い必要があります。Lattice Diamond と MACHX02 7000HE FPGA を使用しています。遅延は、データ トランザクション間に必要な指定された時間待機するために使用されます。これまでのところ、内部発振器を使用して、指定された時間間隔で一度に 1 ビットずつデータを吐き出すために使用される別のカウンターを実行しています (38400 ボーで 2.15Mhz を使用)。遅延のために別のクロック/カウンターを使用する必要がありますか? もしそうなら、このボードでクロックを定義して使用する方法に精通している人はいますか? 私は非常に混乱しており、これが私のプログラムの最後の要件です。どんな助けでも大歓迎です。
routing - 階層外の最上位リソースへのアクセス
深くネストされたエンドポイントが、階層のすべてのモジュールを介してピンを明示的に配線せずに (.ucf から) いくつかの最上位ピンにアクセスできるように、Verilog でアーキテクチャを合成する方法はありますか?
私の場合、エンドポイントが深くネストされた PCIe ブロックがあります。エンドポイントには、最上位のピンから信号情報を提供する必要があるアドレス デコーダーがあります。
介在するすべてのモジュールを変更して、必要なワイヤを運ぶのは避けたいと思います。
'net' と 'bus' という用語は、Verilog では既に別の意味を持っているため、私の Web 検索はイライラします。
(たとえば)top.buttonやtop.LEDなどの特定の階層的な命名を試みましたが、読み取り可能なピンへのアクセスに成功しただけで、書き込み可能なピンにはアクセスできなかったため、ここで基本的な何かが欠けていると思いました。
更新 これをシミュレートでき ます http://www.edaplayground.com/x/AAq
エラーなしで (同様のコンストラクトを) 合成します (Xilinx XST) が、実際のハードウェアで実行すると LED に出力がないため、上向きの名前参照が合成でサポートされていないのでしょうか?
xcode - 自動合成ステートメントはどのように適用できますか? ステートメントを合成する方が良い/悪いですか?
@synthesize ステートメントがどのように機能するかを学びましたが、最新バージョンの xcode (xcode 6 ベータ版ではありません) を実行し、Objective-C を学習していると、synthesize ステートメントを自動的に実行できることがわかりました。
objective-c - サブクラスには親のパブリック プロパティの ivar がありません
私はobjective-cを学んでいますが、答えが見つからないことがあります。
クラスのパブリック インターフェイスでプロパティを宣言しました。そのクラスでは、プロパティを合成せずに、アンダースコアを使用して ivar に直接アクセスできます。
例えば:
// Class.h
@property (nonatomic, strong) NSString *someString;
// Class.m
_someString = something;
しかし、そのクラスをサブクラス化すると、追加のコードなしでセッターとゲッターにアクセスできますが、プロパティを明示的に合成しない限り、ivar に直接アクセスすることはできません。これは、スーパークラスで必要な手順ではありません。
同じスーパークラスの 2 つのサブクラスがあり、それぞれがスーパークラスのプロパティに独自の値を持っているため、サブクラスに固有の ivar が作成されるという事実を知っています。ivar に直接アクセスしたい場合、サブクラスを明示的に合成する必要がある理由がわかりません。
それは実際には問題ではありませんが、好奇心です。
objective-c - プロトコルの合成プロパティ ブール値を設定できません
SSENoteTrack
2 つのプロトコルに準拠するクラスがSSETrack
ありSSENoteContainer
ます。これらのプロトコルは両方とも、インターフェイス ファイルで @property を宣言します。
でSSENoteTrack.h
、プロパティを合成します。
のインスタンスでSSENoteTrack
は、プロパティは nil として始まります。私は次のように別のクラスのコードでそれを設定しようとします:
プロパティを YES に設定しても問題ありません。ただし、プロパティを NO に設定することはできません。例 行の後に[track setMuted:NO]
、 をtrack.isMuted
返しますnil
。
かなり奇妙な問題。おそらく、プロトコルの設定方法が原因でしょうか? ありがとう!
objective-c - @合成の削除
Obj-C は初めてです。独学でクラスに参加。演習用に次の作業コードがありますが、@synthesize を削除し、プログラムを変更して、コンパイラによってインスタンス変数に与えられた新しい名前を処理する必要があります。多くのことを試しました。@synthesize がどのように完全に実装されているか、およびそれを削除する意味がわからないため、常にコンパイラ エラーが発生します。説明ありがとうございます、SO。
main.m
Fraction.h
Fraction.m