原创 玩轉GitLab-CI+蒲公英可持續化全自動打包

 1 gitlab-runner 安裝  1.1 下載執行文件 # Linux x86-64 sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloa

原创 Git常用命令速查表

 

原创 *** Assertion failure in +[PLManagedObjectContext __prepareEntityPropertyLookups]問題

如題,當程序崩潰報錯爲:*** Assertion failure in +[PLManagedObjectContext __prepareEntityPropertyLookups], /BuildRoot/Library/Cache

原创 對程序性能的優化歸納總結

1.使用複用機制 2.儘可能設置 View 爲不透明 3.避免臃腫的 XIB 文件 4.不要阻塞主線程 5.圖片尺寸匹配 UIImageView ,合理使用imageNamed 和 imageWithContentsOfFile 6.選擇

原创 Runloop應用場景

1、AutoreleasePool App啓動後,蘋果在主線程 RunLoop 裏註冊了兩個 Observer,其回調都是 _wrapRunLoopWithAutoreleasePoolHandler()。 第一個 Observer 監視

原创 對象、super、isa、class 和 SuperClass 的理解

super super:是編譯器指示符,僅僅是一個標誌,並不是指針,僅僅是標誌的當前對象去調用父類的方法,本質還是當前對象調用。 super的本質:其實還是當前對象去調用,只不過讓當前對象去調用父類方法, super不是父類對象,指的

原创 OC中isKindOfClass與isMemberOfClass的區別,你真理解?

先給出官方介紹 isKindOfClass:Returns a Boolean value that indicates whether the receiver is an instance of given class or an

原创 iOS主線程和主隊列的區別

  問題 第一題(主線程只會執行主隊列的任務嗎?) let key = DispatchSpecificKey() DispatchQueue.main.setSpecific(key: key, value: "main") fu

原创 如何判斷當前線程是主線程

在開發應用程序時,我們異步請求數據處理後,需要回到主線程刷新UI,一般情況下直接通過以下方式異步回到主線程:    dispatch_async(dispatch_get_main_queue(), ^{         //  主線程

原创 關於iOS 9之後通知的移除

爲什麼 iOS 9 之前需要手動移除觀察者對象? 觀察者註冊時,通知中心並不會對觀察者對象做 retain 操作,而是對觀察者對象進行unsafe_unretained 引用。 什麼是unsafe_unretained?因爲 Cocoa

原创 Block的循環引用解決方案理解

Block的循環引用原理和解決方法大家都比較熟悉,此處將結合上文的介紹,介紹一種不常用的解決Block循環引用的方法和一種藉助Block參數解決該問題的方法。 Block循環引用原因:一個對象A有Block類型的屬性,從而持有這個Bloc

原创 Runtime簡單問題闡述

1、簡述一下 OC 的消息機制? OC中的方法調用其實都是轉成了objc_msgSend函數的調用,給receiver(方法調用者)發送了一條消息(selector方法名) objc_msgSend底層有3大階段: 消息發送(當前類、父

原创 字典的KVC與setObject:forKey:,你瞭解多少?

我們在初始化一個可變字典之後,再給其添加鍵值對的時候可以使用字典的setObject:forKey:方法,或者使用kvc的方式。 setObject:forKey: 將給定的鍵值對添加到字典中 - (void)setObject:(Ob

原创 RunLoop問題簡單闡述

1、什麼是RunLoop? 顧名思義: 1、運行循環,在程序運行過程中循環做一些事情。 2、iOS中有2套API來訪問和使用RunLoop √ Foundation:NSRunLoop √ Core Foundation:CFR

原创 AFNetworking與SDWebImage簡單闡述

1、AFNetworking 底層原理分析 AFNetworking主要是對NSURLSession和NSURLConnection(iOS9.0廢棄)的封裝,其中主要有以下類: 1). AFHTTPRequestOperationMan