isa分為POINTER_ISA(指針類型)和NONPOINTER_ISA(非指針類型) POINTER_ISA指針類型只有一個(gè)內(nèi)存地址 NONPOINTER_ISA除了有地...
![240](https://cdn2.jianshu.io/assets/default_avatar/13-394c31a9cb492fcb39c27422ca7d2815.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
isa分為POINTER_ISA(指針類型)和NONPOINTER_ISA(非指針類型) POINTER_ISA指針類型只有一個(gè)內(nèi)存地址 NONPOINTER_ISA除了有地...
Swift與OC編譯區(qū)別 swift與oc編譯區(qū)別Swfit使用前端編譯器swiftc适荣,降級(jí)編譯成IR溶锭,再通過后端編譯器LLVM生成.o可執(zhí)行文件谣辞。OC使用前端編譯器Clan...
在之前OpenGL系列基礎(chǔ)之上妹蔽,我們又對(duì)iOS原生Metal做了一些探索材鹦,這里主要是記錄一下學(xué)習(xí)的過程碟狞。 1.MTKView 在學(xué)習(xí)metal之前我們需要了解一下什么是MTK...
與用固定著色器繪制三角形[http://www.reibang.com/p/4e05ed6d57b8]類似可都,這里重點(diǎn)講下不同的地方缓待。 1.加載圖片 2.設(shè)置頂點(diǎn)數(shù)據(jù) 3.繪制結(jié)果
與前面OpenGL中講到的三角形渲染[http://www.reibang.com/p/d96a2312f765]類似蚓耽,接下來(lái)我們將在iOS系統(tǒng)下探索如何渲染一個(gè)三角形。 ...
這里通過CTFrameGetLineOrigins計(jì)算出來(lái)的lineOrigin都是基于CoreText坐標(biāo)系里的坐標(biāo)
iOS中CoreText框架探究閑來(lái)無(wú)事想著自己搞個(gè)富文本的工具庫(kù)旋炒,不至于每次遇見這些東西就用別人的第三方步悠。自己研究研究也有助于自己對(duì)這方面的理解。通過查找了相關(guān)的調(diào)研發(fā)現(xiàn)CoreText是一個(gè)好的框架瘫镇,我...
http://api.cocoachina.com/uploads//image/20191105/1572929233999622.png
這張圖里清晰的描述了鼎兽,為什么行高 = ascent + descent;還有為什么originY = lineOrigin.y - descent. 我的理解是按照CoreText坐標(biāo)系铣除,Y軸越往下越小谚咬,所以就是減去descent
iOS中CoreText框架探究閑來(lái)無(wú)事想著自己搞個(gè)富文本的工具庫(kù),不至于每次遇見這些東西就用別人的第三方尚粘。自己研究研究也有助于自己對(duì)這方面的理解序宦。通過查找了相關(guān)的調(diào)研發(fā)現(xiàn)CoreText是一個(gè)好的框架,我...
http://api.cocoachina.com/uploads//image/20191105/1572929233999622.png
這張圖里清晰的描述了背苦,為什么行高 = ascent + descent互捌;還有為什么originY = lineOrigin.y - descent. 我的理解是按照CoreText坐標(biāo)系,Y軸越往下越小行剂,所以就是減去descent
iOS中CoreText框架探究閑來(lái)無(wú)事想著自己搞個(gè)富文本的工具庫(kù)秕噪,不至于每次遇見這些東西就用別人的第三方。自己研究研究也有助于自己對(duì)這方面的理解厚宰。通過查找了相關(guān)的調(diào)研發(fā)現(xiàn)CoreText是一個(gè)好的框架腌巾,我...
前面我們已經(jīng)熟悉OpenGL中一些常有的名詞[http://www.reibang.com/p/22f3e9497dfe],現(xiàn)在開始用OpenGL來(lái)寫一個(gè)簡(jiǎn)單的demo,即...
在學(xué)習(xí)OpenGL之前铲觉,需要先了解一下關(guān)于圖形渲染方面的一些基礎(chǔ)知識(shí)和概念澈蝙。下面一些梳理僅供自己加深影響。 OpenGL是什么撵幽? OpenGL是一種圖形渲染庫(kù)灯荧,由顯示設(shè)備廠商...
前言由于時(shí)間的問題,暫且只更新這么多了盐杂,后續(xù)還會(huì)持續(xù)更新本文《最快讓你上手ReactiveCocoa之進(jìn)階篇》逗载,目前只是簡(jiǎn)短的介紹了些RAC核心的一些方法,后續(xù)還需要加上MV...
我們通過例子可以很好的說(shuō)明串行隊(duì)列和并行隊(duì)列的區(qū)別,以及同步函數(shù)與異步函數(shù)的使用强衡〔粱啵基于幾道面試來(lái)逐個(gè)分析: 案例一 這里我們寫一下思路:1.首先queue和dispatch_...
在平時(shí)開發(fā)過程中,幾乎所有人都接觸過泛型這個(gè)概念,蘋果從IOS9以后引入了泛型這個(gè)概念感挥,從系統(tǒng)庫(kù)到我們自定義泛型中缩搅,或多或少都有一定的理解。所謂的泛型链快,即為了在使用某個(gè)對(duì)象時(shí)...
在這篇文章中眉尸,我將為你整理一下 iOS 開發(fā)中幾種多線程方案域蜗,以及其使用方法和注意事項(xiàng)。當(dāng)然也會(huì)給出幾種多線程的案例噪猾,在實(shí)際使用中感受它們的區(qū)別霉祸。還有一點(diǎn)需要說(shuō)明的是,這篇文...
本文將從如下幾個(gè)方面來(lái)介紹它: 什么是hitTest hitTest袱蜡、響應(yīng)者鏈和觸摸事件的先后順序是什么 hitTest實(shí)現(xiàn)思路以及模仿 hitTest使用場(chǎng)景 1.什么是h...
像NSArray,NSSet,NSDictionary是平時(shí)常用的數(shù)據(jù)類型丝蹭,今天想說(shuō)的是另外兩個(gè)比較高階的集合NSHashTable和NSMapTable。 NSHashTa...
其實(shí) ${PODS_ROOT} 和 ${SRCROOT}/PODS 是同一個(gè)目錄坪蚁。在Build Settings 中的 User-Defined(在最下方) 中奔穿,有一個(gè)定義 ${PODS_ROOT} = ${SRCROOT}/Pods。應(yīng)該是cocoapods版本不一致原因敏晤。
出現(xiàn)私有庫(kù)文件報(bào)錯(cuò)贱田,可以在Build Settings下Search Path添加${SRCROOT}/PODS試試。
pod install的深入理解CocoaPods是什么嘴脾? CocoaPods是iOS平臺(tái)當(dāng)前最流行的包管理工具男摧,可以將它理解為一個(gè)可以自動(dòng)部署到項(xiàng)目的組件池,而對(duì)應(yīng)的podfile文件就相當(dāng)于請(qǐng)求組件的R...
總所周知译打,oc對(duì)象底層是由結(jié)構(gòu)體實(shí)現(xiàn)的耗拓,所以通過分析結(jié)構(gòu)體內(nèi)存占用情況可以更好的理解oc對(duì)象的內(nèi)存占用。 1.把OC對(duì)象編譯成結(jié)構(gòu)體 有如下代碼: 我們可以通過clang命名...
前兩天看到一個(gè)面試題突然挺感興趣的奏司,然后發(fā)現(xiàn)自己并不能立馬分析出底層原理實(shí)現(xiàn)乔询,這里抓緊看了一下runtime源碼并按照自己的理解分析了一波,然后得出答案韵洋。 1.面試題 2.初...