前言 善用runtime,可以解決自動(dòng)歸檔解檔磨澡。想想以前歸檔是手動(dòng)寫(xiě)的进倍,確實(shí)太麻煩了〖淹罚現(xiàn)在有了runtime民珍,我們可以做到自動(dòng)化了觅捆。本篇文章旨在學(xué)習(xí)如何通過(guò)runtime實(shí)現(xiàn)...
前言 善用runtime,可以解決自動(dòng)歸檔解檔磨澡。想想以前歸檔是手動(dòng)寫(xiě)的进倍,確實(shí)太麻煩了〖淹罚現(xiàn)在有了runtime民珍,我們可以做到自動(dòng)化了觅捆。本篇文章旨在學(xué)習(xí)如何通過(guò)runtime實(shí)現(xiàn)...
前言 在runtime中,objc_property_t代表屬性语淘,Ivar代表成員變量。本篇講解這兩大類(lèi)型的具體實(shí)現(xiàn)际歼、區(qū)別及各自常用的操作亏娜。 objc_property_t屬...
前言 在開(kāi)發(fā)中必不可少的模型與字典互轉(zhuǎn),但是一直以來(lái)都是使用他人的庫(kù)蹬挺,從來(lái)沒(méi)有研究其原理或者說(shuō)深究其所以然∥兀現(xiàn)在,在這里我們一起來(lái)學(xué)習(xí)通過(guò)runtime完成模型與字典的互轉(zhuǎn)巴帮。...
前言 學(xué)習(xí)Objective-C的運(yùn)行時(shí)Runtime系統(tǒng)是很有必要的溯泣。個(gè)人覺(jué)得,得之可得天下榕茧,失之則失天下垃沦。 Objective-C提供了編譯運(yùn)行時(shí),只要有可能用押,它都可以動(dòng)...
引言 相信很多同學(xué)都聽(tīng)過(guò)運(yùn)行時(shí)肢簿,但是我相信還是有很多同學(xué)不了解什么是運(yùn)行時(shí),到底在項(xiàng)目開(kāi)發(fā)中怎么用蜻拨?什么時(shí)候適合使用池充?想想我們的項(xiàng)目中,到底在哪里使用過(guò)運(yùn)行時(shí)呢缎讼?還能想起來(lái)嗎...
前言 在開(kāi)發(fā)中經(jīng)常需要給已有的類(lèi)添加方法和屬性收夸,但是Objective-C是不允許給已有類(lèi)通過(guò)分類(lèi)添加屬性的,因?yàn)轭?lèi)分類(lèi)是不會(huì)自動(dòng)生成成員變量的血崭。但是卧惜,我們可以通過(guò)運(yùn)行時(shí)機(jī)制...
前言 iOS中常用的持久化存儲(chǔ)方式有好幾種: 偏好設(shè)置(NSUserDefaults) plist文件存儲(chǔ) 歸檔 SQLite3 Core Data 這里不細(xì)講數(shù)據(jù)庫(kù)厘灼,只針對(duì)...
前言 學(xué)習(xí)iOS的人都想知道學(xué)習(xí)iOS需要學(xué)習(xí)哪些東西。那么筆者這里搜集到github上有這么一個(gè)路徑圖咽瓷,這里基本包含了開(kāi)發(fā)中必須要掌握的一些技術(shù)知識(shí)设凹。 iOS學(xué)習(xí)路線(xiàn) 來(lái)源...
1. UDP Socket編程 先講一講UDP編程,因?yàn)楸萒CP要簡(jiǎn)單多了茅姜。首先围来,我們需要明白UDP是用戶(hù)數(shù)據(jù)報(bào)協(xié)議,英文名為User Datagram Protocol匈睁,它...
1. TCP Socket編程 TCP是面向連接的监透,安全可靠的傳輸層協(xié)議。TCP的程序基本框架設(shè)計(jì)圖: 注意:Socket通信一定有要服務(wù)端和客戶(hù)端航唆。 1.1 TCP Soc...
序言 網(wǎng)絡(luò)七層由下往上分別為物理層胀蛮、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層糯钙、傳輸層粪狼、會(huì)話(huà)層、表示層和應(yīng)用層任岸。其中物理層再榄、數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層通常被稱(chēng)作媒體層,是網(wǎng)絡(luò)工程師所研究的對(duì)象享潜;傳輸層困鸥、會(huì)話(huà)...
前言 想要通過(guò)runtime發(fā)送消息,就必須要掌握runtime如何發(fā)送消息剑按,是調(diào)用哪個(gè)函數(shù)疾就?又是如何調(diào)用的?本篇文章只是記錄筆者學(xué)習(xí)objc_msgSend函數(shù)的使用筆記艺蝴,...
前言 本篇文章只講Method的特性及相關(guān)方法猬腰,不講Method Swizzling特性。關(guān)于Method Swizzling特性猜敢,我們放在單獨(dú)的一篇文章來(lái)細(xì)講姑荷,因?yàn)檫@一節(jié)非...
runtime講哪些東西? runtime是很寬泛的概念缩擂,通常我們?cè)谥vruntime的時(shí)候大多側(cè)重以下兩方面: 基于Class鼠冕、Object的結(jié)構(gòu)模型講解。 實(shí)踐中基于run...
前言 本篇文章是研究消息轉(zhuǎn)發(fā)的機(jī)制撇叁,蘋(píng)果的消息轉(zhuǎn)發(fā)機(jī)制就像一條鏈供鸠,消息傳送鏈越長(zhǎng)則消耗也越大,最好是在第一級(jí)就可以直接發(fā)送消息陨闹。 我們必須要先了解objc_msgSend函數(shù)...
前言 在我學(xué)習(xí)runtime的method swizzling特性之前楞捂,有很多同事或者朋友經(jīng)常在我耳邊說(shuō)起swizzling特性,一個(gè)個(gè)在我面前說(shuō)這個(gè)東西千萬(wàn)不能用趋厉,會(huì)引起很...
前言 UITableViewCell中要放一個(gè)UIWebView寨闹,怎么做呢?怎么算高度君账?怎么讓它自適應(yīng)繁堡?這一聽(tīng)感覺(jué)挺不好處理的。 因?yàn)閁IWebView通過(guò)代理加載的話(huà)乡数,還沒(méi)...
前言 使用按鈕也是可以設(shè)置按鈕的文字的對(duì)齊方式的哦椭蹄,如何使用的是XIB或者storyboard,可以直接設(shè)置净赴。 當(dāng)然绳矩,我們使用純代碼開(kāi)發(fā)的,使用代碼也是很簡(jiǎn)單的玖翅! 按鈕文本左...