@Cherry_00d7 目前只考慮 北京和西安的機會
基于ReSwift和App Coordinator的iOS架構iOS架構漫談當我們在談iOS應用架構時,我們聽到最多的是MVC,MVVM,VIPER這三個Buzz Word,他們的邏輯一脈相承,不斷的從ViewController中把邏...
@創(chuàng)聯(lián)維新_日更 只不過文章最主要還是介紹代理如何優(yōu)雅的抓observable
RxSwift--DelegateProxy最近做模塊化遇到一個問題,就是UIApplicationDelegate的一些回調(diào)需要在各個模塊使用,最后想到了RxSwift的DelegateProxy完美解決。(Dele...
@創(chuàng)聯(lián)維新_日更 是的 runtime方式其實 還沒 notificaition 好用
RxSwift--DelegateProxy最近做模塊化遇到一個問題,就是UIApplicationDelegate的一些回調(diào)需要在各個模塊使用,最后想到了RxSwift的DelegateProxy完美解決。(Dele...
文章寫得不錯,順求群,一起交流成長
2018程序員跳槽最全攻略序言 找工作是件非常重要的事情,它直接影響你1~2年,間接影響你3~5年人生。一個潛在的機會會讓你少奮斗很多年,而一沖動的離職,會讓你和千萬財富錯失交臂。忘掉那些隨地亂扔的小...
Rx終于進入大眾視野了,2.5年Rx老司機路過
給 iOS 開發(fā)者的 RxSwift(一)RxSwift 或許我們都聽說過,但或許只知道 RxSwift 這個單詞,長篇大論關于 RxSwift 的介紹往往使讀者迷失在各種概念當中,卻不知如何讓它大展伸手?;蛟S我們可...
po主理解錯了。atomic是絕對安全的。
我們知道,在64位的操作系統(tǒng)下,所有類型的指針,包括void * 都是占用8個字節(jié)的。超過4個字節(jié)的基本類型數(shù)據(jù)都會有線程并發(fā)的問題。
那所有的指針類型都會有這個問題。
以oc 下的 NSArray * 為例子,如果一個多線程操作這個數(shù)據(jù),會有兩個層級的并發(fā)問題
1、指針本身
2、指針所指向的內(nèi)存
指針本身也是占用內(nèi)存的,并且一定是8個字節(jié),第二部分,指針所指向的內(nèi)存,這個占多少字節(jié)就不一定了,有可能非常大,有可能也就1個字節(jié)
所以我們考慮NSArray * array 這個數(shù)據(jù)array 多線程操作的時候,必須分成兩部分來描述,一個是&array這個指針本身,另一個則是它所指向的內(nèi)存 array
大家注意下 &array 和 array 的區(qū)別 ,其實不用糾結(jié),你就想象現(xiàn)在有兩塊內(nèi)存,一塊是8字節(jié),一塊n字節(jié),8字節(jié)里面放的值,就是n字節(jié)內(nèi)存的首地址,
ok 現(xiàn)在聯(lián)系上atomic,如果用@property(atomic)NSArray *array 修飾之后,會有什么影響?網(wǎng)上說的很多,不再贅述,我只想從內(nèi)存的角度來解釋這個過程
首先第一點,你要記住,@property(atomic)NSArray *array 其實修飾的是這個指針,也就是這個8字節(jié)內(nèi)存,跟第二部分數(shù)據(jù)n字節(jié)沒有任何關系,被atomic 修飾之后,你不可能隨意去多線程操作這個8字節(jié),但是對8字節(jié)里面所指向的n字節(jié)沒有任何限制!這就是所有網(wǎng)絡上所說的 atomic 不安全的真相 ?。?!
我們來看一下,這能怪atomic? 本身你修飾的是一個指針,并且atomic 已經(jīng)完美的履行了它的指責,你現(xiàn)在不可能對這個8字節(jié)進行無序的多線程操作,這就夠了呀!atomic沒有任何鳥問題。有問題的是人,你本身并未對n字節(jié)做任何的限制,所以把問題怪罪到atomic 上真的是很不合理
Charles是網(wǎng)絡調(diào)試利器,但是使用的時候也帶來一些麻煩,比如手機忘記設置手動代理了,或者調(diào)試完忘記關掉手動代理,打不開網(wǎng)頁很是蛋疼,那么今天我們就來搞定它,我們來使用自動...