在事件響應(yīng)和傳遞這篇文章中,講了iOS中的事件響應(yīng)和傳遞,今天在做項(xiàng)目的時(shí)候,正好碰到了一個(gè)應(yīng)用的場(chǎng)景,因此記錄下來(lái)。 需求 首頁(yè)頭部需要添加這樣一個(gè)視圖 點(diǎn)擊左右兩個(gè)按鈕,...

改造之后的數(shù)據(jù)結(jié)構(gòu)叫做跳表,支持類似”二分“的查找算法。 怎么提高鏈表查找效率? 正常鏈表的查詢,因?yàn)橐獜念^開(kāi)始遍歷,所以時(shí)間復(fù)雜度是O(n)。 試想一下給鏈表建立一個(gè)索引,...
iOS設(shè)備會(huì)產(chǎn)生各種事件:觸摸、晃動(dòng)設(shè)備、遠(yuǎn)程控制等,事件發(fā)生了就需要有響應(yīng)者去接收并處理事件,這就形成了一套事件響應(yīng)機(jī)制。 事件類型 在iOS開(kāi)發(fā)中,UIEventType...
今天打開(kāi)Xcode看到import的時(shí)候,突然想起來(lái)好像除了在剛出來(lái)工作面試iOS的時(shí)候背過(guò)它們的區(qū)別外,后來(lái)就再也沒(méi)有深入了解過(guò)這兩個(gè)究竟是什么作用,以致于到現(xiàn)在連作用區(qū)別...
桶排序(Bucket sort) 將要排序的數(shù)據(jù)分到幾個(gè)有序的桶里,每個(gè)桶里面再單獨(dú)進(jìn)行排序,最后把每個(gè)桶里的數(shù)據(jù)依次取出來(lái),組成的序列就是有序序列。 看問(wèn)題 對(duì)一組金額在0...
Django項(xiàng)目要用到mysql,安裝完mysqlclient之后,啟動(dòng)項(xiàng)目報(bào)錯(cuò) 后面部分省略,主要看這部分,提示找不到libmysqlclient.20.dylib,之前為...
安裝mysqlclient,報(bào)錯(cuò),一般問(wèn)題卡在這里 首先確保安裝了openssl 我兩臺(tái)mac用了兩種解決方式,很奇怪為什么同一種方式不行,可能是系統(tǒng)版本不一樣 MacOS ...
通過(guò) brew services start 當(dāng)我們通過(guò) brew install 安裝第三方庫(kù)比如 redis 時(shí),安裝完會(huì)有這樣一段提示 其中已經(jīng)說(shuō)明了為了現(xiàn)在啟動(dòng)和登錄...
先看一個(gè)例子 拿到一個(gè)數(shù)字 我們可以將要匹配的內(nèi)容用()括起來(lái),這里我們知道 字符描述.代表所有的單個(gè)字符,除了 \n \r{n}匹配在 {n} 前面的東西,比如:o{2} ...
歸并排序的原理 采用分治思想,每次將數(shù)組從中間分成兩部分,分別對(duì)兩部分進(jìn)行排序,直到不能繼續(xù)分解為止 歸并排序的性能分析 是否是穩(wěn)定的排序算法,要看merge函數(shù),如果從st...
函數(shù)、謂詞、CASE表達(dá)式 函數(shù) 先創(chuàng)建表和數(shù)據(jù) abs(數(shù)值) 計(jì)算絕對(duì)值 mod(被除數(shù), 除數(shù)) 計(jì)算除法余數(shù)(求余) round(對(duì)象數(shù)值, 保留小數(shù)的位數(shù)) 四舍五...
有一些最經(jīng)典的、最常用的算法,按照時(shí)間復(fù)雜度可以分為三類 排序算法時(shí)間復(fù)雜度是否基于比較冒泡、插入、選擇O(n^2)是快排、歸并O(nlogn)是桶、計(jì)數(shù)、基數(shù)O(n)否 如...
以下基于mysql 一個(gè)商品表 導(dǎo)入sql語(yǔ)句 刪除表 重命名表 增加列 刪除列 更改列為主鍵 插入行 SELECT 查詢列設(shè)置別名 設(shè)置漢語(yǔ)要用雙引號(hào)"" 設(shè)置常數(shù)顯示 顯...
寫(xiě)時(shí)復(fù)制 和Objective-C不同,在Swift中,Array、Dictionary、Set這樣的集合不再是引用類型而是值類型了,這意味著,每次傳遞不再是傳遞指針而是一個(gè)...
OC運(yùn)行時(shí) 動(dòng)態(tài)類型 動(dòng)態(tài)綁定 動(dòng)態(tài)裝載 OC的消息轉(zhuǎn)發(fā)機(jī)制 分為兩步 實(shí)例變量會(huì)先查找自身有沒(méi)有該方法,沒(méi)有就再去父類,直到最上級(jí)父類也沒(méi)有,就會(huì)轉(zhuǎn)向第二步 這一步會(huì)有很多...
使出棧和入棧的時(shí)間復(fù)雜度都為O(1) 就和數(shù)組的擴(kuò)容一樣,擴(kuò)容的操作并不是時(shí)刻發(fā)生,它的頻率是低頻的,平攤下來(lái)接近于O(1)這里的將 right 數(shù)組 reversed 到 ...
例1:不借助臨時(shí)變量,交換兩個(gè)數(shù)的值 思路:通過(guò)異或,先求出兩個(gè)變量的不同的位 例2:求一個(gè)UInt二進(jìn)制數(shù)中1的個(gè)數(shù) 思路:比如一個(gè) 1011 0100 這個(gè)二進(jìn)制數(shù),先用...