原创 4、NSException拋出異常&NSError簡單介紹

Crash我們不得不面對的問題,但是好多人在遇到Crash的時候都無從下手,很多的時候都是憑着感覺找問題。今天我做了5篇文章來幫助我們更加清晰的認清iOS中的Crash 1、Crash產生原因 2、Crash日誌組成 3、Crash日

原创 3、Crash日誌分析

Crash我們不得不面對的問題,但是好多人在遇到Crash的時候都無從下手,很多的時候都是憑着感覺找問題。今天我做了5篇文章來幫助我們更加清晰的認清iOS中的Crash 1、Crash產生原因 2、Crash日誌組成 3、Crash日

原创 5、符號表

Crash我們不得不面對的問題,但是好多人在遇到Crash的時候都無從下手,很多的時候都是憑着感覺找問題。今天我做了5篇文章來幫助我們更加清晰的認清iOS中的Crash 1、Crash產生原因 2、Crash日誌組成 3、Crash日

原创 1、Crash產生原因

Crash我們不得不面對的問題,但是好多人在遇到Crash的時候都無從下手,很多的時候都是憑着感覺找問題。今天我做了5篇文章來幫助我們更加清晰的認清iOS中的Crash 1、Crash產生原因 2、Crash日誌組成 3、Crash日

原创 2018回顧,2019年展望

2018年回顧 2017年年末的時候跟幾個單身的朋友一起說2018年最大任務是找一個女朋友,結果呢,這個任務還是2019年再來實現吧。 總結一下今年都有哪些收穫吧 1、主動接手公司的微信小程序開發,算是多學了一點知識吧 2、大概用了3個月

原创 23中設計模式之三大工廠模式

工廠模式一般可以細分爲三類 1、簡單工廠:簡單工廠不是一個模式,而是一種編程習慣,提供一個創建對象實例的功能,而無需關心具體實現。被創建的類型可以使接口、抽象類、具體類。 2、工廠模式:要依賴抽象,不要依賴具體 3、抽象工廠模式:提供一個

原创 UML使用簡明教程

UML(Unified Modeling Language,統一建模語言)是一個支持模型化和軟件系統開發的圖形化語言,爲軟件開發的所有階段提供模型化和可視化支持,包括由需求分析到規格,到構造和配置。我們今天就來學習一下UML建模。 Star

原创 iOS初級到中級的進階之路

前言:這篇文章是我看李明傑老師的iOS底層原理班(下)/OC對象/關聯對象/多線程/內存管理/性能優化總結所得,斷斷續續歷時3個月左右,把課堂聽的東西給做了一下筆記。 1、一個NSObject對象佔用多少內存 2、OC對象的分類 3、

原创 ES6字符串

1、字符串接口的遍歷 ES6 爲字符串添加了遍歷器接口使得字符串可以被for...of循環遍歷。 for (let codePoint of 'foo') { console.log(codePoint) } // "f" // "o"

原创 ES6變量的解構賦值

目錄 1、數組的解構賦值 2、對象的解構賦值 3、字符串的解構賦值 4、函數參數的解構賦值 5、用途 1、數組的解構賦值 以前,爲變量賦值,只能直接指定值。 let a = 1; let b = 2; let c = 3; ES6 允

原创 Load和Initialize實現原理

Load和Initialize實現原理 +Load實現原理 +load方法會在runtime加載類、分類時調用 每個類、分類的+load,在程序運行過程中只調用一次 +load方法是根據方法地址直接調用,並不是經過objc_msg

原创 多線程安全

目錄 1、爲什麼要線程安全 2、自旋鎖和互斥鎖 3、鎖的類型 1、OSSpinLock 2、os_unfair_lock 3、pthread_mutex 4、dispatch_semaphore 5、dispatch_queue(DIS

原创 let 和 const 命令

1、let命令 2、塊級作用域 3、const命令 1、let命令 ES6 新增了let命令,用來聲明變量。它的用法類似於var,但是所聲明的變量,只在let命令所在的代碼塊內有效。 { let a = 10; var b =

原创 ES6 Module 的語法

目錄 1、概述 2、export命令 3、import命令 4、模塊的整體加載 5、export 與 default命令 6、模塊的繼承 7、跨模塊常量 1、概述 歷史上,JavaScript 一直沒有模塊(module)體系,無法將一

原创 7、函數的擴展

1、函數參數默認值 2、rest參數 3、嚴格模式 4、name屬性 5、箭頭函數 6、雙冒號運算符 7、尾調用優化 8、函數參數的尾逗號 函數參數默認值 1、基本用法 ES6 之前,不能直接爲函數的參數指定默認值,只能採用變通的方法。