1

私はすでに 2 日間、自分のコードの問題点を理解しようとしています。アイデアがあることを願っていますか?

そのviewController内の任意のメソッドから操作を追加できるように、NSOperationQueueを「グローバル」キューとして作成しようとしています。.h ファイルでキューを定義してグローバルにする前に、もともと必要だったメソッド内にキューを作成し、操作を追加することができました。これはうまくいきました。しかし、元のメソッドの外側からキュー内にアクティブな操作があるかどうかを確認したかったのですが、メソッド内で宣言したため、明らかにできませんでした。そこで、次のコードを使用して .h で宣言しようとしました。

@property (strong, nonatomic) NSOperationQueue *queue;

そして.mの上部に:

@synthesize queue;

これは、操作をキューに追加するコードです。

NSInvocationOperation *doMorse = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(morse) object:nil];

[self.queue addOperation:doMorse];

問題は、操作を追加しようとするとキューが空のままになることです。(以前は正しく機能していました。) キューを間違って宣言しましたか? ところで、私が試した方法よりも、任意の方法からキューにアクセスできるようにするためのより良い解決策はありますか? (同じviewController内(どのビューからでも機能する場合は素晴らしいでしょう:-)))。

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

4

1 に答える 1