前言 iOS開(kāi)發(fā)避免不開(kāi)系統(tǒng)權(quán)限的問(wèn)題,如何在APP中以更加友好的方式向用戶展示系統(tǒng)權(quán)限,似乎也是開(kāi)發(fā)過(guò)程中指的深思的一件事。 那如何提高用戶獲取權(quán)限的通過(guò)率呢?以下幾種方式...
前言 iOS開(kāi)發(fā)避免不開(kāi)系統(tǒng)權(quán)限的問(wèn)題,如何在APP中以更加友好的方式向用戶展示系統(tǒng)權(quán)限,似乎也是開(kāi)發(fā)過(guò)程中指的深思的一件事。 那如何提高用戶獲取權(quán)限的通過(guò)率呢?以下幾種方式...
這兩天翻看 ibireme 大神 《不再安全的 OSSpinLock》 這篇文章,看到文中分析各種鎖之前的性能的圖表: 發(fā)現(xiàn)除了@synchronized 用過(guò),其他的都陌生...
老哥 objc_getClass 和 object_getClass是兩個(gè)不同的方法來(lái)著,參數(shù)類型都不一樣
iOS面試題:class方法和objc_getClass方法有什么區(qū)別?1.當(dāng)參數(shù)obj為Object實(shí)例對(duì)象object_getClass(obj)與[obj class]輸出結(jié)果一直,均獲得isa指針,即指向類對(duì)象的指針。 2.當(dāng)參數(shù)obj為...
這片文章主要包括兩個(gè)技術(shù)點(diǎn): 服務(wù)端和客戶端示例(GCDAsyncSocket應(yīng)用) Socket自定義數(shù)據(jù)格式傳輸協(xié)議 利用GCDAsyncSocket寫一個(gè)服務(wù)端的小案例...
點(diǎn)贊
#字節(jié)對(duì)齊[TOC] 什么是字節(jié)對(duì)齊(可以跳過(guò)) 現(xiàn)代計(jì)算機(jī)中內(nèi)存空間都是按照字節(jié)(byte)劃分的,從理論上講似乎對(duì)任何類型的變量的訪問(wèn)可以從任何地址開(kāi)始,但實(shí)際情況是在訪問(wèn)特定變量...
本文是我在上海 T 沙龍4月7日分享內(nèi)容的文字版總結(jié)和拓展。相關(guān)視頻和文檔請(qǐng)見(jiàn)鏈接:深入淺出 iOS 并發(fā)編程其中主要內(nèi)容包括:GCD與Operation的用法、并發(fā)編程中常...
參考:Carthage的安裝和使用【譯】Carthage的使用Carthage 初探:四大優(yōu)勢(shì)與四大劣勢(shì)Carthage官方地址 Carthage與CocoaPods的簡(jiǎn)單比...
Carthage和CocoaPods相比,輕量級(jí)一些,在swift中使用很方便,它本身就是swift寫的。 1.brew 安裝carthage之前需要安裝brew,進(jìn)入官網(wǎng)(...
存?。╝ccessor)方法是用來(lái)讀取或改變某個(gè)對(duì)象屬性的方法。也就是我們平常所說(shuō)的get方法和set方法。set方法根據(jù)它所更改的屬性的名稱來(lái)命名,并加上前綴set。如se...
復(fù)習(xí)了一些iOS里大神寫的KVO官方文檔翻譯和其他的博客,記錄下來(lái)一些方便自己以后回來(lái)看。 <NSKeyValueObserving>或者KVO,是一個(gè)非正式協(xié)議,它定義了對(duì)...