Re: [問題] Core Data Fetch與GCD的問題
※ 引述《leondemon (狗狗)》之銘言:
: 推 dryman:跟view相關的要丟到main queue裡面做 09/11 06:50
: → dryman:你可以把tableView reloadData那行用dispatch_async 09/11 06:51
: → dryman:dispatch_get_main_queue() 包起來 09/11 06:51
: 謝謝D大幫我解決了 App開啟時load data的問題
: 但是目前遇到了另外一個狀況:
: 我做了一個字典的功能 並用searchBar可以搜尋單字 然後如法炮製(如下)
: 結果是cell.textLabel.text的資料是有更新
: 但畫面上的table cell卻沒有更新
: 變成要手動捲動table view時cell的textLabel才會更新
: 當我打"b"的時候 tableView第一個cell 依然是A開頭的字
: 當我打"bo"的時候 tableView第一個cell 是b
: 當我打"boy"的時候 tableView第一個cell 指出現是bo
: 也就都是上一個搜尋的結果
: 請問這個問題要怎麼解決呢?
: =====
: 自問自答:
: 我忘了實際顯示的table不是原來的那一個
: 應該是searchDisplayController.searchResultsTableView 的這個tableView做reload
順便提一下,其實像這種 case,其實用 NSOperationQueue 會
比較好。主要原因是,用 GCD 做非同步的工作的時候,後面加進去
的工作並不會取消前一個工作。
也就是,一般來說,b 開頭的字會比 bo 更多,所以當 bo 的搜尋
結果出來的時候,b 還不見得會跑完,結果會造成先顯示了 bo 的
搜尋結果先跑出來,結果又被 b 的搜尋結果換掉。
比較好的作法是包裝成 operation 丟進 operation queue 中,
而在丟進 queue 之前,先把 queue 裡頭目前存在的 operation
都先 cancel 掉。
--
zonble.net
cocoa.zonble.net
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.224.8.104
推
09/11 23:07, , 1F
09/11 23:07, 1F
→
09/11 23:08, , 2F
09/11 23:08, 2F
→
09/11 23:08, , 3F
09/11 23:08, 3F
→
09/11 23:10, , 4F
09/11 23:10, 4F
→
09/11 23:11, , 5F
09/11 23:11, 5F
→
09/11 23:13, , 6F
09/11 23:13, 6F
→
09/11 23:15, , 7F
09/11 23:15, 7F
推
09/11 23:23, , 8F
09/11 23:23, 8F
推
09/12 03:53, , 9F
09/12 03:53, 9F
推
09/12 08:52, , 10F
09/12 08:52, 10F
推
09/12 13:50, , 11F
09/12 13:50, 11F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章