@Sugarfly 寫在一行就好了,Xcode 會(huì)自動(dòng)給你變成兩行,寫完后雙擊你的輸入就可以看到了
Swift優(yōu)化 - 優(yōu)化編譯速度找出編譯耗時(shí)過長(zhǎng)的文件 要優(yōu)化項(xiàng)目的編譯速度,首先需要把耗時(shí)過長(zhǎng)的文件找出來,然后進(jìn)行重點(diǎn)優(yōu)化。這里會(huì)用到Xcode build的兩個(gè)OTHER_SWIFT_FLAGS: -...
@Sugarfly 寫在一行就好了,Xcode 會(huì)自動(dòng)給你變成兩行,寫完后雙擊你的輸入就可以看到了
Swift優(yōu)化 - 優(yōu)化編譯速度找出編譯耗時(shí)過長(zhǎng)的文件 要優(yōu)化項(xiàng)目的編譯速度,首先需要把耗時(shí)過長(zhǎng)的文件找出來,然后進(jìn)行重點(diǎn)優(yōu)化。這里會(huì)用到Xcode build的兩個(gè)OTHER_SWIFT_FLAGS: -...
iOS CocoaPods組件平滑二進(jìn)制化方案及詳細(xì)教程 感謝"fly2never_寶貝別哭"??梢允褂胏ocoapods-packager這個(gè)插件來方便生成library(...
前言 Crash的主要原因是你的應(yīng)用收到了未處理的信號(hào)。 未處理信號(hào)可能來源于三個(gè)地方:kernel、其他進(jìn)程、以及App本身。 因此,crash異常也分為三種: Mach異...
我們經(jīng)常會(huì)遇到這種情況,老板或同事問了一個(gè)問題,我們這邊還在抓耳撓腮的想著呢,傍邊的人立馬就能條理清楚的回答了問題,這個(gè)時(shí)候就是我們思考力的差別導(dǎo)致的結(jié)果。那怎么樣能提升?《...
自從Xcode8之后就不支持插件了,沒法用Xcode一鍵生成AppIcon,一直沒找到好的解決方案,一怒之下決定自己寫一個(gè)腳本用來生成AppIcon,下面是正文,小弟拋磚引玉...
介紹 動(dòng)態(tài)庫(kù)形式:.dylib和.framework 靜態(tài)庫(kù)形式:.a和.framework 動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)的區(qū)別 靜態(tài)庫(kù):鏈接時(shí),靜態(tài)庫(kù)會(huì)被完整地復(fù)制到可執(zhí)行文件中,被多次...
前言: 流暢度,是頁(yè)面在滑動(dòng)、渲染等過程中的體驗(yàn)。Android系統(tǒng)要求每一幀都要在 16ms 內(nèi)繪制完成,平滑的完成一幀意味著任何特殊的幀需要執(zhí)行所有的渲染代碼(包括 fr...
這篇主要是從我個(gè)人的開發(fā)經(jīng)驗(yàn)角度,把 Swift 和 Objective-C 進(jìn)行比較,介紹 Swift 的優(yōu)缺點(diǎn),基本上不涉及 Swift 的語(yǔ)法。 Swift 屬于入手難...
學(xué)習(xí) YYKit 代碼時(shí),發(fā)現(xiàn) ibireme 在項(xiàng)目里加入的一個(gè)查看當(dāng)前屏幕幀數(shù)的小工具,效果如下: 挺實(shí)用,實(shí)現(xiàn)方法也很簡(jiǎn)單,但是思路特別棒。 Demo: YYFPSLa...
很多 iOS 項(xiàng)目都是基于特定版本的 CocoaPods,使用其他版本的 CocoaPods 執(zhí)行 pod install 或 pod update 可能出現(xiàn)項(xiàng)目無法編譯的問...
本地私有庫(kù)的使用 前言 在公司項(xiàng)目開發(fā)中核心代碼是不能上傳到cocoapods的遠(yuǎn)程檢索庫(kù)的,否則你可能會(huì)受到法院的飛機(jī)票??,那么,如果你想讓核心庫(kù)在本地用起來順心(因?yàn)殡S...
0x0 Block 回調(diào)的崩潰 在MRC環(huán)境下,使用Block 來設(shè)置下載成功的圖片。當(dāng)self釋放后,weakSelf變成野指針,接著就悲劇了 0x1 多線程下Setter...
如果 `kf` 是希望被其他用戶重寫的,那么其他用戶重寫這個(gè)屬性的意義是什么?重寫之后又能干什么?`kf` 的類型為 `Kingfisher`,定義如下。這樣一個(gè) final class,你不能創(chuàng)建 SubClass,也就不能直接添加 stored property。如果僅是添加 computed property、associated property 和 method,完全不用自己實(shí)現(xiàn)一個(gè) `kf` 屬性。
public final class Kingfisher<Base> {
public let base: Base
public init(_ base: Base) {
self.base = base
}
}
Swift 中另一個(gè)非常知名的第三方庫(kù)就是 SnapKit,我們使用它時(shí)也是采用了 `view.snp.makeConstraints(...)` 這種代碼風(fēng)格。`.snp` 的源碼如下,也是直接在 Protocol 中提供了一個(gè)默認(rèn)實(shí)現(xiàn),并不支持重寫。
public extension ConstraintLayoutSupport {
public var snp: ConstraintLayoutSupportDSL {
return ConstraintLayoutSupportDSL(support: self)
}
}
Kingfisher學(xué)習(xí)筆記Kingfisher Kingfisher是一個(gè)使用Swift編寫的用于下載和緩存圖片的iOS庫(kù),是作者王巍受SDWebImage的啟發(fā)開發(fā)了這個(gè)純Swift的庫(kù)。Kingf...
在Swift和OC混編的代碼中,不可避免的會(huì)涉及到Enumeration的混編。這篇文章除了介紹基礎(chǔ)的混編知識(shí),還想講講混編中遇到的坑。 如何import Enum在Swif...
當(dāng)使用可視化方式創(chuàng)建View Controller時(shí),我們通常都是使用Storyboard進(jìn)行的。我們通常會(huì)在同一個(gè)Storyboard中創(chuàng)建一大堆的View Control...