Runloop Runloop是iOS系統(tǒng)中的事件循環(huán),它保證了我們的程序不會在main函數(shù)執(zhí)行完后就被退出,(線程?;睿?,可以粗糙地理解成一個while(true)的循環(huán),...
Runloop Runloop是iOS系統(tǒng)中的事件循環(huán),它保證了我們的程序不會在main函數(shù)執(zhí)行完后就被退出,(線程?;睿?,可以粗糙地理解成一個while(true)的循環(huán),...
SideTables 在閱讀關(guān)于弱引用表weak table相關(guān)源碼時,我們大概了解了一些關(guān)于SideTable的相關(guān)知識,知道了他是一個散列表,也就是Key-Value格式...
Runtime 解析 2.0 類與對象的本質(zhì) Runtime是Objective-C語言與C語言最大的一個不同,通過Runtime庫OC實現(xiàn)了C語言沒有的面向?qū)ο筇匦耘c動態(tài)語...
autorelease、autorelease pool以及原理 autorelease與MRC、ARC autorelease:在MRC下,內(nèi)存管理允許有三個操作,分別是r...
Weak與Weak表 The weak table is a hash table governed by a single spin lock.An allocated b...
在實際開發(fā)中,有時候如果我們遇到后臺返回的一個URL字符串中帶有中文,會導(dǎo)致我們在代碼中初始化URL失敗。而這在swift里有了巧妙的解決方案——@propertyWrapp...
swift標(biāo)準(zhǔn)庫為我們提供了大量的協(xié)議,使用這些協(xié)議可以讓我們的程序更加高效。同時我們也可以從Apple官方實現(xiàn)的協(xié)議中學(xué)習(xí),從而寫出更好的swift程序以及按照自己的需求自...
小組件(Widget)可以在主屏幕上實現(xiàn)內(nèi)容展示和功能跳轉(zhuǎn)。 系統(tǒng)會向小組件獲取時間線(TimeLine),根據(jù)當(dāng)前時間對時間線上的數(shù)據(jù)進行展示。點擊正在展示的視覺元素可以跳...
1.CALayer -- 繪圖層 在我們創(chuàng)建UIView時,會自動創(chuàng)建一個繪圖層的實例--CALayer,然后再將需要展示的內(nèi)容繪制到屏幕上。我們通過UIView的layer...
WKWebView是在iOS8之后推出的,意在取代原本的UIWebView。相比于UIWebView,WKWebView的一個顯著特點就是占用的系統(tǒng)內(nèi)存大幅降低,大部分情況不...
Teambition是一個美觀易用的團隊協(xié)作工具。你可以使用它將你的隊友加入你的工作空間,并隨時發(fā)布、分發(fā)任務(wù)。同時,你也可以隨時隨地查看任務(wù)進度,以及每個成員的進度。 開始...
前言 我們的目標(biāo)是獲得一個看起來較為“輕快”且能融入白色背景的搜索框。效果如圖 實現(xiàn) 實現(xiàn)方法其實很簡單。 首先,我們獲得一個UISearchController實例,并將背...
Cocoapods是什么 Cocoapods是一個為你的項目管理第三方庫以及建立和管理lib依賴的工具,可以讓你優(yōu)雅地使用第三方框架。 1.安裝 我們用macos自帶的gem...
在ios開發(fā)中,我們會經(jīng)常遇到需要在頁面A和頁面B之間通信的需求,這一需求我們可以用Block、協(xié)議、通知等方法實現(xiàn)。今天談?wù)勍ㄖ挠梅ā?有人會問,既然以上幾種方式都可以實...
賦值 | - | NSLog打印str ||: -------------: | :-----:|| NSString *str | str = ...
左劃刪除、收藏、置頂 在UITableView中,我們可以實現(xiàn)對cell左劃后出現(xiàn)按鈕的功能,這一功能常被設(shè)計為刪除、置頂?shù)裙δ?。而在IOS 11及以上的系統(tǒng)中,我們可以更簡...
UIImageview切圓角 在ios開發(fā)中,UIImageview切圓角的方式據(jù)我所知有三種,在這里介紹兩種我個人比較喜歡的方式。 第一種:直接設(shè)置UIImageview的...