字符串可以用strong修飾? 開(kāi)發(fā)中,我們經(jīng)常遇見(jiàn)屬性變量修飾問(wèn)題(string,array,dictionary),有的修飾字符串用copy,有的卻是用strong。那今...
字符串可以用strong修飾? 開(kāi)發(fā)中,我們經(jīng)常遇見(jiàn)屬性變量修飾問(wèn)題(string,array,dictionary),有的修飾字符串用copy,有的卻是用strong。那今...
這個(gè)是系統(tǒng)完成的,用weak是因?yàn)榈讓佑幸粋€(gè)hash表,當(dāng)對(duì)象釋放的時(shí)候,系統(tǒng)會(huì)自動(dòng)去清空對(duì)應(yīng)的key,然后清空對(duì)象對(duì)應(yīng)的指針,用assign修飾對(duì)象,你可以理解為不存在hash表 ,系統(tǒng)不自動(dòng)為你處理。所以使用避免出問(wèn)題,由程序員手動(dòng)置nil。
iOS weak底層原理開(kāi)發(fā)中,weak是弱引用,weak修改的對(duì)象引用計(jì)數(shù)不會(huì)加1,而且當(dāng)對(duì)象銷(xiāo)毀時(shí)候,會(huì)自動(dòng)將對(duì)象指針置為nil,所以也就不會(huì)產(chǎn)生野指針了。 那么weak修飾的對(duì)象底層到...
flutter作為谷歌新出的一個(gè)能跨平臺(tái)開(kāi)發(fā)工具,相對(duì)Reactive優(yōu)勢(shì)肯定很大的。RAC作為以前跨平臺(tái)的主流,但是自身也有一些不足,因?yàn)樗貏e依賴(lài)原生。flutter作為...
@PGOne愛(ài)吃餃子 指針存在棧上面,是系統(tǒng)管理清空的。比如你對(duì)象釋放了,系統(tǒng)就會(huì)幫你清空對(duì)象的指針
iOS delegate為什么用weak,而不用strong/assign?什么是代理? iOS開(kāi)發(fā),OC是常用開(kāi)發(fā)語(yǔ)言,但是OC僅僅是單繼承,但是我們可以用代理來(lái)替代,那么什么是代理呢? 通俗一點(diǎn)講就是我的事情,我只定義標(biāo)準(zhǔn)(協(xié)議),具體怎么做,讓...
前端框架vue,MVVM模式 今天咱們不談iOS,說(shuō)說(shuō)web(MVVM模式)。MVVM模式在前端開(kāi)發(fā)應(yīng)該還是挺多的,而vue就是比較典型的一種web框架。vue屬于響應(yīng)式編程...
ReactiveObjC基礎(chǔ)用法 iOS開(kāi)發(fā)三種編程方式(響應(yīng)式編程、函數(shù)編程、鏈?zhǔn)骄幊?,函數(shù)編程最常用,鏈?zhǔn)骄幊檀a可讀性好,然而響應(yīng)式編程方便,都知道開(kāi)發(fā)刷新UI,一般...
YYCache基礎(chǔ)用法 開(kāi)發(fā)中涉及數(shù)據(jù)持久化方面也挺多的,方法也很多,列如sqlite,歸檔,userdefalut單列,plist存儲(chǔ),蘋(píng)果自帶core data,亦或是基...
iOS開(kāi)發(fā)比較方便的數(shù)據(jù)轉(zhuǎn)模型 剛開(kāi)發(fā)做iOS開(kāi)發(fā)的時(shí)候一直用MJextention,該框架底層其實(shí)是采用的runtime,也是比較優(yōu)秀方便的。今天我們要說(shuō)的是另外一個(gè)框架Y...
@遛遛食 vc只是簡(jiǎn)單幾行代碼處理,testProtocol這里面實(shí)現(xiàn)的是tableView的代理,你想想你的代理方法不寫(xiě)在vc里面是不是簡(jiǎn)潔多了,而且你多個(gè)列表頁(yè)面是可以復(fù)用的
tableView 通過(guò)代理瘦身tableView 通過(guò)代理瘦身 iOS開(kāi)發(fā)中,用的最多的也就tableView,collectionView了,開(kāi)發(fā)中我們一般將創(chuàng)建view,獲取數(shù)據(jù)通過(guò)VC來(lái)完成的,一旦...
@夏先生的單子 如果是計(jì)算cell的高度的,可以看看我發(fā)布有一篇設(shè)計(jì)模式(mvp),參考可以在代理類(lèi)里面提前計(jì)算高度,頁(yè)面還是僅僅顯示數(shù)據(jù)
tableView 通過(guò)代理瘦身tableView 通過(guò)代理瘦身 iOS開(kāi)發(fā)中,用的最多的也就tableView,collectionView了,開(kāi)發(fā)中我們一般將創(chuàng)建view,獲取數(shù)據(jù)通過(guò)VC來(lái)完成的,一旦...
這個(gè)就是自定義cell,我沒(méi)有分開(kāi)出來(lái),代碼省事放一起了
開(kāi)發(fā)從MVC過(guò)渡到MVP模式開(kāi)發(fā)從MVC過(guò)渡到MVP模式 iOS開(kāi)發(fā)中,我們用的最多就是mvc模式開(kāi)發(fā)了,下面這行代碼大家在熟悉不過(guò)了吧 但是由于 cell.model = model這句代碼會(huì)導(dǎo)致耦合...
iOS自定義collectionViewLayout iOS開(kāi)發(fā)collectionView也算用的比較廣泛了,但是系統(tǒng)的collectionViewLayout有時(shí)候不能夠...