問題タブ [alloc]

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 に答える
236 参照

ios5 - iOS>>まだ割り当て/初期化されていないオブジェクトの「プレースホルダー」配列を作成する方法

特定のビューでは、AVAudioPlayerプロパティがたくさんあり、それぞれが特定のユーザーアクションで再生されることになっています。選択したAVAudioPlayerが再生されているときに、別のAVAudioPlayerが再生された場合は、停止する必要があります。

これを管理するために、すべてのAVAudioPlayerプロパティを保持する配列を作成しました。ユーザーが選択すると、選択したAVAudioPlayerを再生する前に、すべてのAVAudioPlayerを確認して停止します。

問題は、配列を作成するための適切な場所が最初(たとえば、ViewDidLoad)であり、この時点でAVAudioPlayerプロパティのいずれもalloc + initを通過しなかったことです。したがって、デバッガーで配列を見ると、次のように表示されます。空(オブジェクトの数= 0)。現在、ユーザーが実際に特定のAVAudioPlayerを選択している場合にのみ、alloc+initアクションを実行します。

最初はすべてのAVAudioPlayerに対してalloc+initを実行することもできますが、必ずしも必要ではないリソースが必要になります。

必要なリソースを使用せずにこのアレイを作成する方法はありますか?つまり、「空の」オブジェクトを使用してアレイを作成し、後でそれらを割り当てて開始しますか?

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

ios - UIPopoverController を割り当てようとするとクラッシュする

こんにちは、私はここで間違っていることに頭を悩ませています。誰かが似たようなことを経験しましたか? Apple 開発者フォーラム、Google、スタック オーバーフローを確認しましたが、何も見つかりませんでした。

本当にありがとう。

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

c++ - malloc() を介して割り当てられたツリーを再ルートする方法

以下は、最初に inorder と preorder から二分木を構築し、次に最大の平衡木を含むノードを見つけるプログラムです。

私の両方の機能BuildtreeIsBalanced正しいです。

input.txtファイルから inorder と preorder を読み込んでいます。そのため、最初の反復では私のプログラムは正しい出力を示していますが、2 回目の反復では機能しません。

rootの削除に問題があると思います。

上記のプログラムを実行すると、私が話している問題が発生します。

最初に、以下の内容を含む input.txt を使用してこのプログラムを実行し、output.txt を参照してください。

次に、上記のプログラムを実行します

output.txt を参照してください

あなたは私が本当に欲しいものを手に入れるでしょう。

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

iphone - すべてのクラスから到達できないオブジェクト プロパティ

私のプロジェクトには、HeliController、FlightView、および ConnectionView の 3 つのクラスがあります。HeliController は、FlightView と ConnectionView の両方で使用されるいくつかの接続データを保存します。

ConnectionView と HeliController の両方で

ConnectionView はすべての接続メソッドを処理するため、このクラスは通信相手の周辺機器を受け取ります。ここから、周辺機器データを送信して HeliController (周辺機器クラスのデリゲートでもあります) に格納します。

}

これで、ConnectionView から周辺機器に到達できます

両方ともスタックにアドレスがあることを確認します。


FlightView から、周辺データにもアクセスしたいと考えています。そうです

デバッガーで、self.heliController がスタック上のアドレスを取得することを確認します。

しかし、ペリフェラルはゼロです

どうしてこれなの?私は何を忘れていますか?この問題は、アプリケーションを再構築しなければならなかったときに発生し、何が間違っていたのかわかりません。

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

objective-c - 目的 c のサブクラスの初期化

これは不可能かもしれないと思いますが、私がやろうとしていたことは、サブクラスも初期化するスーパークラス「ロード」に静的初期化子を書き込もうとしたことです。

ここで [self class] の結果はスーパークラスですが、クラス自体を初期化したい (この場合は常にサブクラスになります)。たぶん、これはひどいプログラミングのアイデアです。

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

objective-c - Objective-C/iPhone 開発における遅延インスタンス化

簡単な質問...Objective-C ではすべてのプロパティが nil として開始され、nil にメッセージを送信しても何も起こらないことを理解しています。したがって、[[Class alloc] init]; を使用して初期化する必要があります。新しく作成されたプロパティにメッセージを送信する前。ただし、このプロパティにメッセージを送信していない場合や、self.property = something を使用してプロパティを設定した場合はどうでしょうか? これらの場合も init を割り当てる必要がありますか? また、ストーリーボードからドラッグした UILabel プロパティなど、UI プロパティも nil として開始されますか? これらには alloc init が必要ですか?

答えてくれてありがとう

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

objective-c - ObjC:initおよび/またはinitWithFrameで「self」を使用:

クラスの状態が-(id)init内でまだ安定していないと誰かから聞いたので、init内で'self.something'を使用することはお勧めしませんが、UIViewサブクラスがあり、クラスが作成されるので、initで[self addSubview:subview]を使用するか、別の初期化メソッドを使用して、次を使用してビューを作成する必要があります。

そのメソッドを呼び出す必要があります。これは正しいです?initWithFrameは、クラスがまだ安定していないというinitと同じ状況にありますか(allocの後に呼び出されます)?そうである場合、サブビューをどのように初期化する必要がありますか?

ありがとう!

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

objective-c - allocWithZoneを使用してシングルトンを作成する:

BNRItemStoreはシングルトンであり、なぜsuper allocWithZone:プレーンオールドの代わりに呼び出されなければならないのか混乱しましたsuper alloc。そして、allocの代わりにオーバーライドしますallocWithZone

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

iphone - IPhone Objective C のメモリ割り当て

Alloc、new、または copy を使用する場合、オブジェクトを所有していて、オブジェクトを解放する必要があることを理解しています。オブジェクトを保持している場合、それを解放する必要があることを理解しています。

しかし、メソッドの最後に次のステートメントがあるとします。

メモリ空間を割り当てたのでオブジェクトを所有していUIImageますが、呼び出し元に返されたため、オブジェクトへの参照がありません。私のdealloc()方法では、参照がないため、リリースできません。

だから私の質問は、これは正しいですか:

この場合、呼び出し元が所有権を取得したい場合は、返されたオブジェクトを保持でき、最終的には自分自身を解放する必要があると思います。

ご協力いただきありがとうございます。

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

objective-c - @property を使用しない Objective-C プロパティの割り当て

私は現在、別の開発者によって開始された iOS アプリケーションを開発しています。

通常、すべてのインスタンス変数のプロパティを作成します(int、boolなどに割り当て/すべてのクラスに保持)。

したがって、私のプロジェクトでは、この行でリークが発生します。

だから私は使用します:

または:

この新しいプロジェクトでは、以前の開発者は @property/@synthesize を使用していなかったので、このコンテキストで前のコード行の結果がどうなるか疑問に思っています (setter を呼び出していないと思います)。メモリーリーク?

前の開発者は私と同じように dealloc メソッドで変数を解放します。

どうもありがとうございました!