一、多態(tài)的概念 一說(shuō)起面向?qū)ο笳Z(yǔ)言的三大特性,你可能會(huì)脫口而出:封裝、繼承、多態(tài)。那什么是多態(tài)呢,你或許可以背出關(guān)于多態(tài)的定義,可以舉出關(guān)于貓、狗吃東西的例子,但你真的理解多...
Swift協(xié)議 協(xié)議規(guī)定了用來(lái)實(shí)現(xiàn)某一特定功能所必需的方法和屬性 類、結(jié)構(gòu)體、枚舉類型都可以遵循協(xié)議,并提供具體實(shí)現(xiàn)來(lái)完成協(xié)議定義的方法和功能。能夠滿足協(xié)議要求的類型被稱為遵...
從一個(gè)具體需求說(shuō)起 應(yīng)用中有多個(gè)頁(yè)面內(nèi)的UICollectionViewCell需要實(shí)現(xiàn)一個(gè)相同的小動(dòng)畫:被選中時(shí),先縮小到原來(lái)的0.8倍,再回彈到0.9倍。動(dòng)畫本身實(shí)現(xiàn)起來(lái)...
傳統(tǒng)的協(xié)議(比如Objective-C的protocol,Java的Interface)只能定義接口,不能復(fù)用實(shí)現(xiàn),遵守同一個(gè)協(xié)議的不同的類,只能分別實(shí)現(xiàn)協(xié)議接口,使用場(chǎng)景受限了很多。Swift只是多了一個(gè)協(xié)議擴(kuò)展的特性,但卻帶來(lái)了編程范式的進(jìn)化。這句話好厲害?。≌f(shuō)得很到位!
荒野獵神 評(píng)論自談?wù)凷wift面向協(xié)議編程
dart版本:(stable) 2.2.2(空安全)connectivity:^3.0.6shared_preferences:^2.0.6注:我是抄后改成適合自己的,不過(guò)網(wǎng)...
一、前言 隨著項(xiàng)目功能的不斷增加,越來(lái)越多的開發(fā)人員加入,業(yè)務(wù)主線也隨之越來(lái)越多,造成耦合越來(lái)越嚴(yán)重,編譯越來(lái)越慢,測(cè)試不獨(dú)立等一系列問(wèn)題。為了解決此類情況,我們可以考慮到使...
Block的底層基本結(jié)構(gòu) 通過(guò)clang命令查看編譯器是如何實(shí)現(xiàn)Block的,在終端輸入clang -rewrite-objc main.m,然后會(huì)在當(dāng)前目錄生成main.c...
上一篇文章介紹了CJLabel的實(shí)現(xiàn),在V2.0.0版本之前,CJLabel的圖文顯示是基于NSAttributedString來(lái)實(shí)現(xiàn)的,但有若干不足: 圖片點(diǎn)擊響應(yīng)只支持e...
不管看不看得懂,先贊,寫的真的好
CJLabel富文本三 —— UILabel支持選擇復(fù)制以及實(shí)現(xiàn)原理CJLabel經(jīng)過(guò)若干版本迭代,各個(gè)功能已經(jīng)日趨完善,并且不斷精細(xì),特別是在V4.0.0版本迎來(lái)了重頭戲:新增enableCopy屬性,支持選擇、全選、復(fù)制功能,類似UITe...
CJLabel經(jīng)過(guò)若干版本迭代,各個(gè)功能已經(jīng)日趨完善,并且不斷精細(xì),特別是在V4.0.0版本迎來(lái)了重頭戲:新增enableCopy屬性,支持選擇、全選、復(fù)制功能,類似UITe...
介紹copy和mutableCopy 介紹深拷貝與淺拷貝 block為什么要用copy copy相對(duì)于直接賦值的好處 總結(jié) 預(yù)備知識(shí) : 堆 : 一般由程序員分配釋放, 若程...
基本概念 1、什么是核心動(dòng)畫 Core Animation(核心動(dòng)畫)是一組功能強(qiáng)大、效果華麗的動(dòng)畫API,無(wú)論在iOS系統(tǒng)或者在你開發(fā)的App中,都有大量應(yīng)用。核心動(dòng)畫所在...
前言: 按照時(shí)間順序,事件的生命周期是這樣的:事件的產(chǎn)生和傳遞(事件如何從父控件傳遞到子控件并尋找到最合適的view、尋找最合適的view的底層實(shí)現(xiàn)、攔截事件的處理)->找到...
這是自己沒(méi)事寫的小demo,實(shí)現(xiàn)標(biāo)簽根據(jù)標(biāo)簽的文字長(zhǎng)度進(jìn)行流式布局。效果如下 10行代碼即可實(shí)現(xiàn),簡(jiǎn)單易懂,廢話不說(shuō),上代碼 代碼就是這樣了,是不是很簡(jiǎn)單?
大文件移除 字體、開機(jī)視頻(十幾M)可以通過(guò)在后臺(tái)服務(wù)器下載,存入本地使用,放在本地文件中會(huì)很大,需要移除 圖片資源,無(wú)用的可以刪除。(png能達(dá)到2~3M,gif或者mp3...
背景: 日常的項(xiàng)目經(jīng)過(guò)長(zhǎng)時(shí)間的迭代,優(yōu)化,重構(gòu)之后,可能會(huì)積累一些用不到了的類,長(zhǎng)久下去,會(huì)影響我們的包大小。定期的檢測(cè),可以在一定程度上控制ipa的增大<話說(shuō)不是砍需求才是...
前言: 學(xué)iOS也有段時(shí)間了,由于當(dāng)初學(xué)的時(shí)候沒(méi)有基礎(chǔ),現(xiàn)在反過(guò)來(lái)看自己一些基礎(chǔ)控件的用法都還沒(méi)搞清楚,所以想總結(jié)一些重要控件的用法 -- 本文大部分轉(zhuǎn)載自 -> 琿少博客 ...