問題タブ [objective-c-blocks]

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

objective-c - これは、構造体内のブロックが同じ構造内のメンバー変数にアクセスするための正しい方法ですか?

私はObj-Cブロックを試し、1つのブロックが他のブロックの動作を変更する2つのブロックを含む構造体を作成しようとしています。

これは、単純なことを行うための本当に回りくどい方法です...そしてそれを行うためのより良い方法があるかもしれませんが、演習のポイントは私がブロックを理解することです。これがコードです、それは機能しません、それで私は何が欠けている/理解していない、そして/または間違っているのですか?

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

objective-c - Objective-C ブロックからの IMP の作成

IMP私が理解している限り、Objective-Cの型は関数ポインターを表します。IMPブロックポインタから作成する方法はありますか? アイデアをありがとう。

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

objective-c - ブロック完了ハンドラを使用したカスタム モーダル ウィンドウ

私は立ち往生しています!

カスタム モーダル ダイアログを作成しようとしています。ブロックを完了ハンドラーとして使用して、NSSavePanel と同様に実行したいと考えています。

必要と思われる重要なスニペットのみをコピーしました。

これで、コードを使用してこれを呼び出すことができます。

すべてうまくいきますが、メソッド makeKeyAndOrderFront:modalToWindow:sourceRect:completionHandler: が完了した後、スレッドはブロックされないため、ユーザーが「OK」または「キャンセル」を選択していなくても「Errg」が出力されます。この時点でモーダル ウィンドウが表示され、ユーザーが [OK] をクリックすると、_handler ブロックが実行されます。ただし、ブロック内のローカル変数にアクセスしようとすると、すべてが既にクリーンアップされているため、アプリがクラッシュします。

makeKeyAndOrderFront:... メソッドからメインスレッドをブロックする最良の方法は何ですか? これは、ブロックを使用して完了ハンドラーを実装するための正しいアプローチですか?

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

objective-c - 2 つの Objective-C ブロックを内容別に比較することはできますか?

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

objective-c - Objective-c ブロックをエンコードしますか?

を使用して Objective-C ブロックをエンコードすることは可能NSKeyedArchiverですか?

Block オブジェクトがNSCoding準拠しているとは思わないので、[coder encodeObject:block forKey:@"block"]動作しませんか?

何か案は?

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

cocoa - beginSheetModalForWindow からの URL の取得:

OpenPanel を使用してファイル パス URL を取得しています。これは機能します:

これはそうではなく、「読み取り専用変数の割り当て」エラーが発生します。

一般に、oPanel のコンテキストから pathToFile を抽出しようとしても失敗します。これは小さな状況では大したことではありませんが、コードが大きくなるにつれて、XML 解析、コア データなどのすべてを不適切な領域に詰め込む必要があります。pathToFile を抽出するにはどうすればよいですか?

ありがとう。

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

ubuntu - ブロックを使用するclangプログラムに対してリンクする必要があるライブラリはどれですか?

ブロックを使用するコードをコンパイルするときに -fblocks を使用する必要があることを (以下で) 発見しました。

リンカーが _NSConcreteStackBlock を解決できるようにするには、どのライブラリに対してリンクする必要がありますか? (Ubuntu 9.10 AMD64 で。)

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

c++ - Clang の「ブロック」はどのように機能しますか?

http://clang.llvm.org/docs/BlockLanguageSpec.txt

本当にかっこよく見えます。

でも、

  1. わかりません。
  2. 例が見当たりません。
  3. アイデアをそのまま C++ で表現するのは難しいが、ブロックで表現するのは簡単だという例は見当たりません。

誰でもこれについて教えてもらえますか?

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

objective-c - Objective-C でのブロックのコピー (つまり、インスタンス変数へのコピー)

ブロックを理解しようとしています。メソッドに直接渡されると、通常どおり使用する方法がわかりました。私は今、ブロックを取得し、それを (たとえば) インスタンス変数に格納し、後で呼び出すことに興味があります。

ブロック プログラミング ガイドでは、Block_copy/retain を使用してブロックをコピーすることで、これを実行できるように思われますが、実行しようとするとプログラムがクラッシュします。

私は後でそれを呼び出そうとします:

誰にも洞察がありますか?(または、ブロックで得られないものはありますか?)

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

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

objective-c - ブロックとコールバックのパフォーマンスの違いは何ですか?

Snow Leopardで導入されたオブジェクトをブロックするのに適していることの1つは、以前はコールバックで処理されていた状況です。構文は、コンテキストを渡すためにはるかにクリーンです。ただし、この方法でブロックを使用した場合のパフォーマンスへの影響に関する情報は見たことがありません。ブロックを使用する場合、特にCスタイルのコールバックの代わりとして、パフォーマンスの落とし穴に注意する必要がある場合はどうすればよいですか?