didSet, willSet方法的線程問題

在didSet, willSet更新UI要注意的線程問題

今天在寫代碼的時候,遇到一個問題

項目是這樣子的,首頁一個tableView,我更新了dataSource沦童,也insert了Section了,但界面沒有顯示出來叹话,稍微一滑動偷遗,第一個section的內(nèi)容顯示了出來,但是整個tableView的contentSize的y會變成0驼壶,也就是滑動完之后還會反彈回原來的位置氏豌,沒辦法向下拉

檢查了幾個地方之后,終于把問題定位了出來热凹,原來問題是因為調(diào)用setter方法的時候我是在子線程調(diào)用泵喘,然后willSet跟didSet方法也會在這個線程里被調(diào)用

大概的代碼是這樣子的,數(shù)組因為是值類型般妙,所以在append的時候的時候也會調(diào)用willSet和didSet

var dataSource: [SomeType] {
    didSet {
        // 更新UI
    }
}

我向服務(wù)器請求數(shù)據(jù)之后append數(shù)據(jù)進(jìn)去dataSource里涣旨,然后在didSet方法里面直接插入section

大家都知道,在子線程里是沒辦法刷新UI的股冗,所以就造成這樣的問題,只要重新回主線程刷新UI就可以了

// 正確的方法
var dataSource: [SomeType] {
    didSet {
        OperationQueue.main().add {
            // 更新UI
        }
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末和蚪,一起剝皮案震驚了整個濱河市止状,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌攒霹,老刑警劉巖怯疤,帶你破解...
    沈念sama閱讀 223,207評論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異催束,居然都是意外死亡集峦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來塔淤,“玉大人摘昌,你說我怎么就攤上這事「叻洌” “怎么了聪黎?”我有些...
    開封第一講書人閱讀 170,031評論 0 366
  • 文/不壞的土叔 我叫張陵,是天一觀的道長备恤。 經(jīng)常有香客問我稿饰,道長,這世上最難降的妖魔是什么露泊? 我笑而不...
    開封第一講書人閱讀 60,334評論 1 300
  • 正文 為了忘掉前任喉镰,我火速辦了婚禮,結(jié)果婚禮上惭笑,老公的妹妹穿的比我還像新娘侣姆。我一直安慰自己,他們只是感情好脖咐,可當(dāng)我...
    茶點故事閱讀 69,322評論 6 398
  • 文/花漫 我一把揭開白布铺敌。 她就那樣靜靜地躺著,像睡著了一般屁擅。 火紅的嫁衣襯著肌膚如雪偿凭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,895評論 1 314
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼隘弊。 笑死筹麸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的钳降。 我是一名探鬼主播,決...
    沈念sama閱讀 41,300評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼霎烙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蕊连,我...
    開封第一講書人閱讀 40,264評論 0 277
  • 序言:老撾萬榮一對情侶失蹤悬垃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后甘苍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尝蠕,經(jīng)...
    沈念sama閱讀 46,784評論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,870評論 3 343
  • 正文 我和宋清朗相戀三年载庭,在試婚紗的時候發(fā)現(xiàn)自己被綠了看彼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廊佩。...
    茶點故事閱讀 40,989評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖靖榕,靈堂內(nèi)的尸體忽然破棺而出标锄,到底是詐尸還是另有隱情,我是刑警寧澤序矩,帶...
    沈念sama閱讀 36,649評論 5 351
  • 正文 年R本政府宣布鸯绿,位于F島的核電站,受9級特大地震影響簸淀,放射性物質(zhì)發(fā)生泄漏瓶蝴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,331評論 3 336
  • 文/蒙蒙 一租幕、第九天 我趴在偏房一處隱蔽的房頂上張望舷手。 院中可真熱鬧,春花似錦劲绪、人聲如沸男窟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽歉眷。三九已至,卻和暖如春颤枪,著一層夾襖步出監(jiān)牢的瞬間汗捡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評論 1 275
  • 我被黑心中介騙來泰國打工畏纲, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留扇住,地道東北人。 一個月前我還...
    沈念sama閱讀 49,452評論 3 379
  • 正文 我出身青樓盗胀,卻偏偏與公主長得像艘蹋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子票灰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,995評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件女阀,我們平時使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,067評論 3 38
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫屑迂、插件浸策、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,131評論 4 61
  • *7月8日上午 N:Block :跟一個函數(shù)塊差不多,會對里面所有的內(nèi)容的引用計數(shù)+1屈糊,想要解決就用__block...
    炙冰閱讀 2,494評論 1 14
  • 寫在前面: 貧僧唐三藏,從東土大唐而來琼了,要往西天取經(jīng)逻锐。 我是誰夫晌?我從哪里來?我要到哪里去昧诱? 人間草木原無字晓淀,李四張...
    過雨采蘋閱讀 556評論 2 4
  • 事故現(xiàn)場還原 昨天在調(diào)微信支付的時候,遇到一個難題盏档,就是在非常確定以及肯定代碼沒有問題的情況下依然支付失敗凶掰。 分析...
    咔咔和拉拉閱讀 4,315評論 3 2