我知道那dispatch_queue_t是 ac 結構,而不是 NSObject。那么我們應該使用XCTAssertEqualorXCTAssertEqualObject嗎?當我們有 2 個指向同一個佇列的不同指標時,是否有可能?
uj5u.com熱心網友回復:
Adispatch_queue_t不是結構。它是一個NSObject<OS_dispatch_queue>. (有一個環境變數可以用來控制它是否是一個物件,但現在它幾乎總是一個物件。)
應該警惕使用任何形式的相等性來確定您是否在正確的佇列中,因為如果沒有別的,一個佇列可以針對另一個佇列。在我們的代碼中,我們不測驗佇列的值,而是傾向于使用dispatch_assert_queue(或dispatchPrecondition(.onQueue())在 Swift 中)。
如果這是您自己的自定義佇列,另一種選擇是 todispatch_queue_set_specific和 then dispatch_queue_get_specific。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/426066.html
