2

C++\Qt プロジェクトで NSMetadataQuery を操作しようとしていて、コンパイルして実行しましたが、NSMetadataQueryDidStartGatheringNotification しか取得できません。

この問題に関する多くの質問を見てきましたが、どれもうまくいきませんでした。

プロジェクトには (今のところ) 3 つのファイルがあります。

main.cpp
AppController.h
AppController.m

関連するコードの一部を次に示します: http://pastebin.com/g4cKYPkm

私はそれを 2 回書きました。このバージョンは、Apple のサンプル「スポットライター」から GUI に必要なコードを除いたもの (私のプロジェクトはコンソール プロジェクトです) からのコピー ペーストであり、2 回とも同じ結果が得られました。

答えの多くは、 mainThread で startQuery を実行する必要があると言っています。スレッドは 1 つしかなく、 [NSThread isMainThread] を使用して、実際に mainThread で実行されているかどうかを確認しました。

startQuery の呼び出しの直後にループを追加しました

//Psuedo code
while query.isGathering == YES {
    print query.isStarted
    print query.isGathering
    print query.isStopped
    print query.operationQueue.operationCount
    print query.resultCount
    wait 10sec
}

そして、クエリが開始され、収集され、停止されておらず、結果とキューサイズの両方が0であることがわかりました。

私が間違っていることは何か分かりますか?問題をさらに分析する方法はありますか?ありがとうございました。

編集:私はQt Creatorで作業しています.XCodeで同じコードを試しましたが、うまくいきませんでした:(

4

0 に答える 0