1.進(jìn)程與線程 進(jìn)程:1.進(jìn)程是一個(gè)具有一定獨(dú)立功能的程序關(guān)于某次數(shù)據(jù)集合的一次運(yùn)行活動(dòng),它是操作系統(tǒng)分配資源的基本單元.2.進(jìn)程是指在系統(tǒng)中正在運(yùn)行的一個(gè)應(yīng)用程序,就是一段...
1.進(jìn)程與線程 進(jìn)程:1.進(jìn)程是一個(gè)具有一定獨(dú)立功能的程序關(guān)于某次數(shù)據(jù)集合的一次運(yùn)行活動(dòng),它是操作系統(tǒng)分配資源的基本單元.2.進(jìn)程是指在系統(tǒng)中正在運(yùn)行的一個(gè)應(yīng)用程序,就是一段...
前言: 最近把 iOS 面試中可能會(huì)遇到的問題整理了一番, 題目大部分是網(wǎng)上收錄的, 方便自己鞏固復(fù)習(xí), 也分享給大家; 希望對(duì)大家有所幫助! 對(duì)于答案,不一定都合適,歡迎大...
定義 Block是一個(gè)里面存儲(chǔ)了指向定義block時(shí)的代碼塊的函數(shù)指針,以及block外部上下文變量信息的結(jié)構(gòu)體,簡單說就是:帶有自動(dòng)變量的匿名函數(shù) Block對(duì)象內(nèi)存相關(guān) ...
新創(chuàng)建的KVO類里調(diào)用的super set***方法,這是如果子類實(shí)現(xiàn)了set方法會(huì)沿用之前的邏輯,沒有實(shí)現(xiàn)就直接調(diào)用父類的。KVO類只是一層轉(zhuǎn)發(fā)。
KVO原理分析該文章屬于劉小壯原創(chuàng),轉(zhuǎn)載請(qǐng)注明:劉小壯[http://www.itdecent.cn/u/2de707c93dc4] 介紹 KVO全稱KeyValueObserving,...
目錄 2020 阿里、字節(jié)iOS面試題之Runtime相關(guān)問題1[http://www.itdecent.cn/p/7f94db2e5928] 2020 阿里、字節(jié)iOS面...
該文章屬于劉小壯原創(chuàng),轉(zhuǎn)載請(qǐng)注明:劉小壯[http://www.itdecent.cn/u/2de707c93dc4] 好久沒寫博客了,前后算起來剛好有一年了。這期間博客也...
目錄 2020 阿里、字節(jié)iOS面試題之Runtime相關(guān)問題1[http://www.itdecent.cn/p/7f94db2e5928] 2020 阿里、字節(jié)iOS面...
這個(gè)欄目將持續(xù)更新--請(qǐng)iOS的小伙伴關(guān)注! (答案不唯一,僅供參考,文章最后有福利) iOS面試題大全(上)[http://www.itdecent.cn/c/31a51...
目錄 2020 阿里、字節(jié)iOS面試題之Runtime相關(guān)問題1[http://www.itdecent.cn/p/7f94db2e5928] 2020 阿里、字節(jié)iOS面...
還有一個(gè)問題OC中class都默認(rèn)用一個(gè)metaClass的描述是不是不夠準(zhǔn)確,本質(zhì)上metaClass還是一個(gè)Class,每一個(gè)Class都會(huì)對(duì)應(yīng)一個(gè)Class的實(shí)例作為metaClass,然后這個(gè)示例會(huì)根據(jù)Class的SuperClass的情況設(shè)置自己的isA和其他信息。
iOS面試題:為什么Objective-C中有MetaClass這個(gè)設(shè)計(jì)?前置知識(shí) 首先簡單分析下在Objective-C中,對(duì)象是什么。下面源碼基于Runtime-709[https://opensource.apple.com/tarballs...
博主思考的不錯(cuò),點(diǎn)贊!
下面這個(gè)方法很重要,正好和OC的內(nèi)存模型圖一一對(duì)應(yīng)
void set_superclass(Class cls, Class supercls, bool cls_is_new)
{
Class meta = cls->ISA();
if (supercls) {
cls->superclass = supercls;
meta->superclass = supercls->ISA();
meta->initIsa(supercls->ISA()->ISA());
// Propagate C++ cdtors from superclass.
if (supercls->info & CLS_HAS_CXX_STRUCTORS) {
if (cls_is_new) cls->info |= CLS_HAS_CXX_STRUCTORS;
else cls->setInfo(CLS_HAS_CXX_STRUCTORS);
}
// Superclass is no longer a leaf for cache flushing
if (supercls->info & CLS_LEAF) {
supercls->clearInfo(CLS_LEAF);
supercls->ISA()->clearInfo(CLS_LEAF);
}
} else {
cls->superclass = Nil; // superclass of root class is nil
meta->superclass = cls; // superclass of root metaclass is root class
meta->initIsa(meta); // metaclass of root metaclass is root metaclass
// Root class is never a leaf for cache flushing, because the
// root metaclass is a subclass. (This could be optimized, but
// is too uncommon to bother.)
cls->clearInfo(CLS_LEAF);
meta->clearInfo(CLS_LEAF);
}
}
iOS面試題:為什么Objective-C中有MetaClass這個(gè)設(shè)計(jì)?前置知識(shí) 首先簡單分析下在Objective-C中,對(duì)象是什么。下面源碼基于Runtime-709[https://opensource.apple.com/tarballs...
前置知識(shí) 首先簡單分析下在Objective-C中,對(duì)象是什么。下面源碼基于Runtime-709[https://opensource.apple.com/tarballs...
前言 Blocks是C語言的擴(kuò)充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了這個(gè)新功能“Blocks”。從那開始,Block就出現(xiàn)在iOS...
寫這篇文章的起因: 從一個(gè)對(duì)象收到一個(gè)它無法響應(yīng)的方法到崩潰之間發(fā)生了什么?這是J_Knight在最近在博客里面問到的一個(gè)問題。其實(shí)本質(zhì)上是在問iOS的消息轉(zhuǎn)發(fā)機(jī)制。類似的原...
這篇文章源于美團(tuán)面試官問的我一個(gè)問題,為什么Objective-C中有Class和MetaClass這種設(shè)計(jì)?去掉是否可以?當(dāng)時(shí)的我并沒有深入思考過這個(gè)問題,而網(wǎng)上搜索的結(jié)果...
1.概念 在JavaScript中,this 是指當(dāng)前函數(shù)中正在執(zhí)行的上下文環(huán)境,因?yàn)檫@門語言擁有四種不同的函數(shù)調(diào)用類型: 函數(shù)調(diào)用 alert('hello world!'...
”私有庫需要加上sources路徑,并且要有權(quán)限“ 這個(gè)在哪里加?
podspec文件驗(yàn)證時(shí)候遇到的問題問題:pod install 私有庫 解決方法:私有庫沒有權(quán)限,加權(quán)限 問題: 解決方法:私有庫需要加上sources路徑,并且要有權(quán)限 iOS組件化學(xué)習(xí)(4)Unable ...
@唐仁于 可以邊下載邊播放的,你看看其他評(píng)論,有提供思路,我自己的項(xiàng)目實(shí)現(xiàn)的是邊下邊播。
iOS流媒體開發(fā)之三:HLS直播(M3U8)回看和下載功能的實(shí)現(xiàn)尊重知識(shí),轉(zhuǎn)發(fā)請(qǐng)注明出處:iOS流媒體開發(fā)之三:HLS直播(M3U8)回看和下載功能的實(shí)現(xiàn) 概要流媒體開發(fā)第一篇文章就說要把這些不是隨便就可以百度到的知識(shí)獻(xiàn)給“簡書”,拖了一...
思路很清晰
iOS 喚起APP之Universal Link(通用鏈接)包含Xcode11.0的配置方式和iOS13出現(xiàn)的問題。 什么是Universal Link(通用鏈接) Universal Link(通用鏈接)是Apple在iOS9推出的...