本文介紹了CocoaAsyncSocket庫(kù)中GCDAsyncSocket類的使用、粘包處理以及時(shí)間延遲測(cè)試. 一.CocoaAsyncSocket介紹 CocoaAsync...
本文介紹了CocoaAsyncSocket庫(kù)中GCDAsyncSocket類的使用、粘包處理以及時(shí)間延遲測(cè)試. 一.CocoaAsyncSocket介紹 CocoaAsync...
簡(jiǎn)介 現(xiàn)在數(shù)據(jù)庫(kù)方面的技術(shù)很多,也很成熟.但是很多公司也會(huì)有很奇怪的需求,明確你要使用什么技術(shù).在數(shù)據(jù)量很多的時(shí)候,不能使用傳統(tǒng)數(shù)據(jù)庫(kù)的情況下,CouchBaseLite是一...
什么是dispatch_semaphore(信號(hào)量)?以一個(gè)停車場(chǎng)的運(yùn)作為例。簡(jiǎn)單起見(jiàn),假設(shè)停車場(chǎng)只有三個(gè)車位,一開(kāi)始三個(gè)車位都是空的。這時(shí)如果同時(shí)來(lái)了五輛車,看 門人允許其...
Copy的目的是建立副本,同時(shí)修改原始對(duì)象和復(fù)本不會(huì)互相干擾. 淺拷貝 & 淺拷貝 淺拷貝 淺拷貝是指針拷貝,對(duì)一個(gè)對(duì)象進(jìn)行淺拷貝,相當(dāng)于對(duì)指向這個(gè)對(duì)象的指針進(jìn)行復(fù)制,產(chǎn)生了...
閑來(lái)執(zhí)筆: UIImage加載圖片的兩種方式有何不同; imageNamed:根據(jù)一個(gè)名字在系統(tǒng)緩存中查找,如果名字存在則會(huì)返回一個(gè)圖像對(duì)象,如果沒(méi)有這個(gè)對(duì)象,則從文檔中加載...
一、Class 在之前的文章中我們提到,所有的對(duì)象都有個(gè)isa指針指向它對(duì)應(yīng)的類Class,而Class是一個(gè)objc_class結(jié)構(gòu)體,結(jié)構(gòu)體中: 實(shí)例變量列表objc_i...
我們寫代碼的時(shí)候,有的類沒(méi)有給對(duì)外接口,但是我們需要它的私有成員變量或者函數(shù)應(yīng)該怎么辦呢? 其實(shí)我們可以通過(guò)runtime訪問(wèn)類的私有成員變量和函數(shù),讓我們來(lái)實(shí)際操作看看。 ...
iOS多線程-概念 線程概述 有些程序是一條直線,起點(diǎn)到終點(diǎn);有些程序是一個(gè)圓,不斷循環(huán),直到將它切斷 一個(gè)運(yùn)行著的程序就是一個(gè)進(jìn)程或者叫做一個(gè)任務(wù),一個(gè)進(jìn)程至少包含一個(gè)線程...
runtime 和 runloop 作為一個(gè)程序員進(jìn)階是必須的,也是非常重要的, 在面試過(guò)程中是經(jīng)常會(huì)被問(wèn)到的, 所以大家有必要進(jìn)行研究,有能力的童鞋可以和下面作者一樣, 親...
前言 本文主要是對(duì)iOS各種IM實(shí)現(xiàn)方案調(diào)研 并且提供一些選型、實(shí)現(xiàn)細(xì)節(jié)以及優(yōu)化的建議。 注:文中的所有的代碼示例,在github中都有demo:iOS即時(shí)通訊,從入門到“放...
Core Foundation 和 Foundation之間的轉(zhuǎn)換方式有三種,分別是:__bridge,__bridge_retained,__bridge_transfer...
這個(gè)欄目將持續(xù)更新--請(qǐng)iOS的小伙伴關(guān)注! 整理不易,如果您覺(jué)得還不錯(cuò),麻煩在文末 “點(diǎn)個(gè)贊” 或者 評(píng)論 “Mark”,謝謝您的支持 一:知名大廠iOS開(kāi)發(fā)面試題篇 1、...
數(shù)據(jù)結(jié)構(gòu) 1.數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)一般常用的有幾種?各有什么特點(diǎn)? 數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)一般常用的有兩種 順序存儲(chǔ)結(jié)構(gòu) 和 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 順序存儲(chǔ)結(jié)構(gòu):比如,數(shù)組,1-2-3-4-5-6...
一、什么是庫(kù)(framework) 庫(kù)是程序代碼的集合,是程序開(kāi)發(fā)者與其他開(kāi)發(fā)者之間進(jìn)行代碼共享的一種方式。 庫(kù)根據(jù)源代碼公開(kāi)的情況可以: 開(kāi)源庫(kù)開(kāi)源庫(kù)的源代碼可見(jiàn),比如af...
iOS基礎(chǔ)類 這里包含了去哪兒,滴滴,螞蟻金服,美團(tuán),今日頭條,快手以及其它公司的一些面試題,大部分面試官問(wèn)的重復(fù)的問(wèn)題很多,總體來(lái)說(shuō)就是以下的面試題。 作為一個(gè)開(kāi)發(fā)者,有一...
一、 分類和類擴(kuò)展區(qū)別 1. 分類實(shí)現(xiàn)原理 Category編譯之后的底層結(jié)構(gòu)是struct category_t,里面存儲(chǔ)著分類的對(duì)象方法、類方法、屬性、協(xié)議信息 在程序運(yùn)...
dispatch_once 是線程安全的 首次調(diào)用dispatch_once時(shí),因?yàn)橥獠總魅氲膁ispatch_once_t變量值為nil,故vval會(huì)為NULL,故if判斷...
Hash,一般翻譯做”散列“,也有直接音譯為”哈?!暗模褪前讶我忾L(zhǎng)度的輸入通過(guò)散列算法變換成固定長(zhǎng)度的輸出,該輸出就是散列值。這種轉(zhuǎn)換是一種壓縮映射,也就是,散列值得空間通...
創(chuàng)建型設(shè)計(jì)模式在iOS中的實(shí)踐 一、單例模式 單例模式的定義與特點(diǎn) 單例(Singleton)模式的定義:指一個(gè)類全局只有一個(gè)實(shí)例,且該類能自行創(chuàng)建這個(gè)實(shí)例的一種模式。 單例...