原创 iOS 升級Xcode10遇到的問題及其解決方法

轉自:https://www.jianshu.com/p/2cc3ab5091cf 1.mac下出現xcrun: error導致git無法使用的解決辦法 xcrun: error: invalid active developer pat

原创 Xcode10:library not found for -lstdc++.6.0.9 臨時解決

Xcode10:library not found for -lstdc++.6.0.9 臨時解決 下載stdc++.6.0.9 提取自Xcode9 百度雲鏈接:stdc++.6.0.9   https://pan.baidu.com/s

原创 iOS開發 -- KVO的實現原理與具體應用

轉載鏈接:https://www.jianshu.com/p/e59bb8f59302 本文分爲2個部分:概念與應用。概念部分旨在剖析 KVO 這一設計模式的實現原理;應用部分通過創建的項目,以說明 KVO 技術在 iOS 開發中所帶來

原创 ios 模式講解runtime & runloop

轉自掘金鍊接:https://juejin.im/post/593f77085c497d006ba389f0 相信對於從事開發人員來說 runtime 這個名稱都不陌生,就像我起初只知道「 runtime 叫運行時 」,後來知道 run

原创 iOS RAC - RACSignal

轉自:https://www.jianshu.com/p/35a28cf0a22f 文章系列《RACSignal 》《RACDisposable》《RACSubject、RACReplaySubject》《iOS RAC - 基本用法》

原创 Runtime基礎使用場景-攔截替換方法(class_addMethod ,class_replaceMethod和method_exchangeImplementations)

前話 這幾天在系統的學習 runtime,在學習 runtime 的基礎使用案例中,"方法替換"這種使用情況下,發現有兩種寫法. 其實也不是兩種寫法,準確的來說一種是比較嚴謹的,另一種則沒有那麼嚴謹. 發現這兩種寫法的差異後,我主要集中在

原创 iOS如何爲NSMutableArray添加KVO

轉自:https://www.jianshu.com/p/f9fa928173ae 首先,數組不能直接使用KVO使用監聽。當我們想要使用KVO監聽數組的狀態時改變然後盡心操作時,我們需要進行一下幾部。 1.KVO不能監聽UIViewCon

原创 class_addMethod詳解

BOOL class_addMethod(Class cls, SEL name, IMP imp, const char *types) 作用:這個方法的作用是,給類添加一個新的方法和該方法的具體實現 BOOL: 返回值,yes----

原创 iOS OC 計算代碼執行耗時

CFAbsoluteTimeGetCurrent()函數能夠以毫秒爲單位計算當前時間與2001.1.1差值。 CFAbsoluteTime start = CFAbsoluteTimeGetCurrent(); // do somethi

原创 iOS之藍牙開發—CoreBluetooth詳解

轉自:https://www.cnblogs.com/allencelee/p/6707901.html CoreBluetooth的API是基於BLE4.0的標準的。這個框架涵蓋了BLE標準的所有細節。僅僅只有新的iOS設備和Mac是和

原创 mac升級到10.11後重新安裝Cocoapod

轉載自:https://www.jianshu.com/p/768d9a966001 由於Mac 10.11更改了安全機制,所以cocoapods得安裝和卸載命令也有所改變, 全新安全功能 Rootless,重新創造支持 iCloud D

原创 安裝cocoapods的時候顯示沒有權限:You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

轉自:https://blog.csdn.net/m7723sun/article/details/51076262 安裝cocoapods沒有權限的時候,本來是$sudo gem install cocoapods ,但是顯示沒有權限,

原创 iOS Bugly集成詳解

轉載自:http://blog.csdn.net/vbirdbest/article/details/53503845 註冊產品Cocopods集成SDK在AppDelegate中啓用Bugly編寫一個數組越界錯誤,啓動App,查看Bu

原创 宏定義重寫NSLog

#define DEBUG//宏輸出函數#ifdef DEBUG#define MyLog(fmt, ...)  fprintf(stderr,"[%s:%d行] %s\n",[[[NSString stringWithUTF8Stri

原创 CornerStone 常見的圖標含義

A:add,新增 C:conflict,衝突 D:delete,刪除 M:modify,本地已經修改 G:modify and merGed,本地文件修改並且和服務器的進行合併 U:update,從服務器更新 R:replace,從服務