
這個(gè)問(wèn)題你解決了嗎
組件化之路---Swift如何創(chuàng)建Framework(1)動(dòng)態(tài)庫(kù)與靜態(tài)庫(kù) 什么是靜態(tài)庫(kù) 靜態(tài)庫(kù)(Static Library)地粪,可以將它理解為一個(gè)二進(jìn)制文件聘芜,通過(guò)公共的 .h 文件歇拆,可以獲取到 .a 中暴露的方法或者屬性等供填。在最后編...
一.Swift中的framework 我們知道渣磷,在Swift項(xiàng)目中要想使用OC代碼婿着,必須要使用 -bridge-header.h。將OC橋接給Swift醋界。 但是在framew...
一..swiftmodule 相當(dāng)于就是Swift的頭文件竟宋,通過(guò).swiftmodule外界訪(fǎng)問(wèn)framework中的類(lèi)/函數(shù) 我們都知道OC代碼調(diào)用Swift代碼需要使用 ...
一.String源碼 1.Swift中String在內(nèi)存中是如何存儲(chǔ)的 這里我們定義了一個(gè)空字符串,想要通過(guò)內(nèi)存信息來(lái)查看關(guān)于String的內(nèi)存信息 發(fā)現(xiàn)只有一個(gè)0xe000...
一.泛型語(yǔ)法 1.函數(shù)中使用泛型 泛型的基本語(yǔ)法形纺,首先我們要指定一個(gè)占位符T(占位符也可以為其它字符)丘侠,緊挨著寫(xiě)在函數(shù)名后面的一對(duì)尖括號(hào)(當(dāng)前我們這個(gè)T要遵循Floating...
一.協(xié)議與繼承 那么最直觀也是最簡(jiǎn)單的辦法就是,給每一個(gè)類(lèi)添加一個(gè)debug函數(shù) 如果我們對(duì)當(dāng)前代碼中的每個(gè)類(lèi)都需要添加debug函數(shù)逐样,顯然上面這種方法是行不通的蜗字,于是有了下...
一.@convention 之前在執(zhí)行vtable取出的函數(shù)地址時(shí),使用到了@convention 用于修飾函數(shù)類(lèi)型 修飾Swift中的函數(shù)類(lèi)型(調(diào)用C函數(shù)的時(shí)候) 調(diào)用OC...
一.函數(shù)類(lèi)型 函數(shù)本身也有自己的類(lèi)型脂新,它由形式參數(shù)類(lèi)型和返回類(lèi)型組成 通過(guò)LLDB分析函數(shù)a和函數(shù)b 總結(jié):函數(shù)在Swift中也是引用類(lèi)型挪捕。 源碼中關(guān)于函數(shù)的Metadata...
一.元類(lèi)型、.self和Self 1.AnyObject AnyObject代表任意類(lèi)的實(shí)例争便,類(lèi)的類(lèi)型级零,僅類(lèi)遵循的協(xié)議。 2.T.self T.self如果T是實(shí)例對(duì)象滞乙,T....
一.Enum 1.Enum基本信息 Swift中通過(guò)enum關(guān)鍵字來(lái)聲明一個(gè)枚舉 在C或者OC中默認(rèn)受整數(shù)支持奏纪,也就意味著下面的例子中:A鉴嗤,B,C分別默認(rèn)代表0,1,2 Sw...
一.為什么說(shuō)指針不安全 比如我們?cè)趧?chuàng)建一個(gè)對(duì)象的時(shí)候序调,是需要在堆分配內(nèi)存空間的醉锅。但是這個(gè)內(nèi)存空間的聲明周期是有限的,也就意味著如果我們使用指針指向這塊內(nèi)容空間发绢,如果當(dāng)前內(nèi)存空...
一.存儲(chǔ)屬性 存儲(chǔ)屬性是一個(gè)作為特定類(lèi)和結(jié)構(gòu)體實(shí)例一部分的常量或變量硬耍。存儲(chǔ)屬性要么是變量存儲(chǔ)屬性(由var關(guān)鍵字引入)要么是常量存儲(chǔ)屬性(由let關(guān)鍵字引入)。 這里的age...
一.異變方法 1.值類(lèi)型方法 Swift中的class和struct都能定義方法朴摊。但是有一點(diǎn)區(qū)別的是默認(rèn)情況下默垄,值類(lèi)型的屬性不能被自身的實(shí)例方法修改。 代碼會(huì)報(bào)錯(cuò)甚纲,因?yàn)樵趍o...
1.類(lèi)與結(jié)構(gòu)體的異同 主要的相同點(diǎn): 定義存儲(chǔ)值的屬性 定義方法 定義下標(biāo)以使用下標(biāo)語(yǔ)法提供對(duì)其值的訪(fǎng)問(wèn)(點(diǎn)語(yǔ)法訪(fǎng)問(wèn)值) 定義初始化器 使用extension來(lái)拓展功能 遵循...
1.這里創(chuàng)建一個(gè)Flutter項(xiàng)目(App) 使用Xcode[https://developer.apple.com/xcode/]打開(kāi)其中的iOS工程 打開(kāi)Generate...
一.下載渲染引擎 1.下載引擎時(shí)需注意的點(diǎn) 路徑不能有中文 工具(后續(xù)用到的下載工具)所在的目錄需要有可執(zhí)行權(quán)限 2.查看當(dāng)前Engine版本flutter doctor -...
混合開(kāi)發(fā)一般分2種 Flutter調(diào)用原生項(xiàng)目代碼(MethodChannel口锭、BasicMessageChannel、EventChannel)MethodChannel實(shí)...
一.引入key的概念 這里有一個(gè)小demo 每次點(diǎn)擊按鈕介杆,刪除第一個(gè)Widget 1.使用StatefulWidget 文字顯示正常鹃操,但是Widget的顏色卻是不正常的 看起...
Flutter并不是渲染W(wǎng)idget樹(shù)的,因?yàn)槊恳淮蝏uild都會(huì)重新創(chuàng)建春哨,極其不穩(wěn)定荆隘,因此渲染W(wǎng)idget樹(shù)是非常浪費(fèi)性能的 并不是所有的Widget都會(huì)被獨(dú)立渲染,只有繼...