1. 類判斷 限制當(dāng)前類在某個(gè)版本之后才能使用 OCAPI_AVAILABLE(ios(10.0)) 會(huì)對(duì)類添加系統(tǒng)版本約束 Swift@available(iOS 10.0...

1. 類判斷 限制當(dāng)前類在某個(gè)版本之后才能使用 OCAPI_AVAILABLE(ios(10.0)) 會(huì)對(duì)類添加系統(tǒng)版本約束 Swift@available(iOS 10.0...
前言隨著人們對(duì)手機(jī)的依賴性越來(lái)越高,對(duì)于從手機(jī)獲取信息也有了更多的要求。推送就是一項(xiàng)不可忽視的方案,它可以在用戶沒(méi)有打開(kāi)APP下的情況下將信息及時(shí)的推送給用戶。推送功能在運(yùn)營(yíng)...
iOS程序開(kāi)發(fā)過(guò)程中引用多個(gè)第三方庫(kù)時(shí)會(huì)出現(xiàn)類名重疊,導(dǎo)致沖突,具體的沖突錯(cuò)誤提示如下: duplicate symbol OBJC_IVAR$_AFHTTPSessionM...
從iOS7以來(lái),蘋(píng)果推出NSURLSession后,iOS現(xiàn)在可以實(shí)現(xiàn)真正的后臺(tái)下載,這對(duì)我們iOSer來(lái)說(shuō)是一個(gè)福音。 一個(gè) NSURLSession對(duì)象可以協(xié)調(diào)一個(gè)或多個(gè)...
iOS動(dòng)態(tài)加載字體有兩種方案 1.加載系統(tǒng)自帶字體, 雖然叫系統(tǒng)自帶字體, 但還是需要通過(guò)網(wǎng)絡(luò)下載. 系統(tǒng)自帶字體下載是由系統(tǒng)完成, 也不會(huì)存在app沙盒中. 一次下載永久存...
對(duì)于iOS App的首次啟動(dòng)優(yōu)化,主要關(guān)注兩個(gè)點(diǎn),一個(gè)是main之前的耗時(shí),一個(gè)就是main函數(shù)到root VC viewWillAppear執(zhí)行完之間的耗時(shí) 針對(duì)main函...
稍有 iOS 開(kāi)發(fā)經(jīng)驗(yàn)的人應(yīng)該都是用過(guò) CocoaPods,而對(duì)于 CI、CD 有了解的同學(xué)也都知道 Fastlane。而這兩個(gè)在 iOS 開(kāi)發(fā)中非常便捷的第三方庫(kù)都是使用 ...
Runtime系列導(dǎo)讀 iOS Runtime之方法查找[http://www.lxweimin.com/p/f6b017813981] iOS Runtime之方法替換[h...
前言: 事件 是界面交互(或人機(jī)交互)的最基本組成之一。沒(méi)有它手機(jī)上的App就失去了存在的意義。 一個(gè)事件的周期:事件的產(chǎn)生——事件的傳遞——事件的響應(yīng) 事件傳遞到響應(yīng)實(shí)現(xiàn)原...
iOS低功耗藍(lán)牙BLE編程實(shí)戰(zhàn) 最近有兩個(gè)月沒(méi)有更新博客了,主要是因?yàn)?015年12月,找了實(shí)習(xí)的工作。接下來(lái)將繼續(xù)為大家提供工作和學(xué)習(xí)過(guò)程中的開(kāi)發(fā)經(jīng)驗(yàn)。 本人實(shí)習(xí)的是一家微...
首先看一段AF2.x經(jīng)典代碼: 首先我們要明確一個(gè)概念,線程一般都是一次執(zhí)行完任務(wù),就銷毀了。 而添加了runloop,并運(yùn)行起來(lái),實(shí)際上是添加了一個(gè)do,while循環(huán),這...
前言 本文會(huì)用實(shí)例的方式,將iOS各種IM的方案都簡(jiǎn)單的實(shí)現(xiàn)一遍。并且提供一些選型、實(shí)現(xiàn)細(xì)節(jié)以及優(yōu)化的建議。 注:文中的所有的代碼示例,在github中都有demo:iOS即...
疑問(wèn) 平時(shí)項(xiàng)目中在用KVC的時(shí)候,大多只是簡(jiǎn)單的調(diào)用 setValue forKey 或者 valueForKey做一些賦值與取值操作。但是具體的過(guò)程真的是我們想的那樣么,...
KVO的實(shí)現(xiàn) 窺探isa指針 說(shuō)在前面 KVO作為觀察者模式的一種實(shí)現(xiàn),為Cocoa框架中實(shí)現(xiàn)Binding的一部分,在ReactiveCocoa框架未出現(xiàn)之前為MVVM模式...
本文是對(duì)《Objective-C高級(jí)編程》中__bridge部分的整理,加上一部分自己的體會(huì)。 Objective-C 與 C語(yǔ)言之間的轉(zhuǎn)換 C語(yǔ)言的結(jié)構(gòu)體(struct或u...
很清晰,很明白
圖解isKindOfClass和isMemberOfClass我們?cè)陂_(kāi)發(fā)中經(jīng)常會(huì)用到 isKindOfClass: 來(lái)判斷一個(gè) obj 是不是某個(gè)類型。我們所有的知識(shí)點(diǎn)都基于“類”的isa isKindOfClass: 查看objc4源...
實(shí)在牛,大佬
圖解isKindOfClass和isMemberOfClass我們?cè)陂_(kāi)發(fā)中經(jīng)常會(huì)用到 isKindOfClass: 來(lái)判斷一個(gè) obj 是不是某個(gè)類型。我們所有的知識(shí)點(diǎn)都基于“類”的isa isKindOfClass: 查看objc4源...
我們?cè)陂_(kāi)發(fā)中經(jīng)常會(huì)用到 isKindOfClass: 來(lái)判斷一個(gè) obj 是不是某個(gè)類型。我們所有的知識(shí)點(diǎn)都基于“類”的isa isKindOfClass: 查看objc4源...