為什么要引入Lifecycle? 我們?cè)谔幚鞟ctivity或者Fragment組件的生命周期相關(guān)時(shí)蹂窖,會(huì)遇到一些問題:比如Activity#onCreate()中初始化某些成...
每個(gè)月你要花多少恩敌? 財(cái)務(wù)自由是一種你不需要為了滿足生活而必須去工作的狀態(tài),這種狀態(tài)我們需要有多少金錢來支撐呢横媚?接下來我們就來解答這個(gè)問題纠炮。 首先,計(jì)算一下我們一個(gè)月的花費(fèi)是多...
DispatchSemaphore 信號(hào)量灯蝴,一種用來控制并發(fā)訪問資源的機(jī)制恢口,多用于多線程中,可以控制并發(fā)線程數(shù)量穷躁。 例子 第一個(gè)例子 運(yùn)行結(jié)果:運(yùn)行一定時(shí)間后耕肩,程序crash...
多行文本高度的計(jì)算在開發(fā)過程中經(jīng)常會(huì)用到猿诸,一般都是使用boundingRect(with:options:attributes:)方法來計(jì)算高度婚被。 size: label的s...
@聆心傾聽 是的,可以添加依賴庫梳虽,以前不知道這個(gè)
把自己的庫上傳到cocoapods最新步驟詳解最近公司要把我們的產(chǎn)品活動(dòng)盒子上傳到cocoapods址芯,遇到了一些新坑,所以決定自己重新總結(jié)一下窜觉,做一下詳細(xì)的記錄谷炸。 1. 步驟總結(jié) 把庫上傳到github 創(chuàng)建podspe...
我在 Facebook 有一位好友。他本科國(guó)內(nèi) Top 2 大學(xué)畢業(yè)禀挫,在美國(guó)拿了最頂尖大學(xué)的碩士學(xué)位旬陡,然后年紀(jì)輕輕就做到了技術(shù)負(fù)責(zé)人,拿著超高的薪水语婴。就是這么一個(gè)開了掛一般的...
@MinorUncle 箭頭好像歪了一下蔬螟,本意是想說feature1分支合并后不能再在feature1上面改了再合并到develop
細(xì)說git flow此迅,滿滿的干貨!Git的優(yōu)點(diǎn) 分布式旧巾,本地包含遠(yuǎn)程倉(cāng)庫所有源碼耸序,可以離線操作 便捷的分支功能,可以很方便的進(jìn)行團(tuán)隊(duì)合作和版本控制 Git flow Git flow 是前人經(jīng)過探索總結(jié)出來的...
LJTool LJTool簡(jiǎn)介 在開發(fā)過程中坎怪,有一些常用擴(kuò)展每次都會(huì)用到,每次拷貝來拷貝去廓握,有點(diǎn)煩了搅窿,就封裝成了一個(gè)工具庫嘁酿,使用pod來管理,方便多了男应。LJTool主要分成三...
一闹司、crash log的獲取 當(dāng)你的app 在手機(jī)上crash的時(shí)候,會(huì)在手機(jī)上自動(dòng)生成一個(gè)崩潰日志殉了,也就是我們說的Crash Log开仰。CrashLog的位置位于:iPhon...
前言 翻譯已與 raywenderlich 社區(qū)取得聯(lián)系(可翻譯10篇文章),原文鏈接 是否想過把參與過的多個(gè)項(xiàng)目中功能相近的代碼拆分成可復(fù)用的模塊薪铜,是否想過與其他開發(fā)者分享...
Drive適合不會(huì)發(fā)送錯(cuò)誤信號(hào)的众弓,要處理錯(cuò)誤還是要用Observable
RxSwift-Observable asDriver后的事件訂閱關(guān)系實(shí)驗(yàn) 創(chuàng)建一個(gè)Observable信號(hào),發(fā)送next和error信號(hào) 轉(zhuǎn)換成Driver并訂閱 發(fā)送next和completed信號(hào)隔箍,查看輸出 只發(fā)送 next信號(hào) 結(jié)論 我...
實(shí)驗(yàn) 創(chuàng)建一個(gè)Observable信號(hào)谓娃,發(fā)送next和error信號(hào) 轉(zhuǎn)換成Driver并訂閱 發(fā)送next和completed信號(hào),查看輸出 只發(fā)送 next信號(hào) 結(jié)論 我...
前言 runtime的資料網(wǎng)上有很多了俯艰,部分有些晦澀難懂捡遍,我通過自己的學(xué)習(xí)方法總結(jié)一遍,主要講一些常用的方法功能竹握,以實(shí)用為主画株,我覺得用到印象才是最深刻的,并且最后兩個(gè)demo...