從2023年12月入坑至今,差不多做了一年半ios開發,回顧一下學習的過程
首先我覺得,學習一門語言,需要5個步驟:
1、了解語言本身。比如首先需要了解objective-c的特性,以及各種相關的東西。從基礎的變數型別、語法,到語言的高階特性如block、反射等等
3、熟悉平台的各種常用不常用api。比如uikit,core graphics,core animation,core data,apns等
4、了解業界的標準方案,第三方庫。比如快取、網路、資料庫操作、介面重新整理、資料同步、duang duang的特效等,基本上所有的場景都有對應的解決方案和開源庫,比自己造輪子要好得多,但是如果基礎比較紮實,就可以很容易理解開源庫的實現,還可以提交pr幫忙改進
5、更底層的東西。比如用純c來實現objective-c無法做到的事
2、紙質書和電子書。好的出版物,可讀性和系統性通常都很不錯,比官方文件更好。這一年半我也看了很多ios開發相關的書,印象中覺得幫助比較大的主要是fundamentals,pushing the limit,eoc,programing等幾本。是的,英文的書質量明顯碾壓中文版,即使是國內的一些ios資深開發者,雖然開發水平不錯,但是出的書的質量都一般
3、開源專案的原始碼。比如afnetworking,sdwebimage,fmdb等業界知名開源庫,其原始碼都值得一讀
5、最核心的,多寫
之前我對後端和web非常熟悉,也有一點android的經驗,但是ios是全新接觸。最後大約3個月的時間完成了第乙個ios專案,是基於ipad的。因為是從零到一的過程,所以自己覺得進步很明顯,每天都接觸新的東西,工作也覺得非常開心。那個階段主要是打基礎,objective-c語言本身和ios平台的特性基本都接觸了,各種第三方庫也用得七七八八,尤其是fmdb和cordova,因為踩了不少坑,所以也掌握得特別清楚
回顧linux系統程式設計學習過程
一 基礎知識 1 linux作業系統,熟悉常用的指令。2 vim編譯器的使用,makefile的編寫。3 使用者以及許可權方面相關的知識。4 linux下環境變數的概念。二 程序概念相關 1 程序的概念,了解pcb的概念,以及task struct結構體。2 程序的建立,fork 與vfork 的區...
iOS演算法總結 回顧
根據將排序記錄是否全部放置在記憶體中,將排序分為內排序和外排序,之前講的都是內排序,這裡總結一下,內排序分為四類 插入排序 交換排序 選擇排序和歸併排序。前幾篇介紹的7種演算法分別是各種分類的代表演算法 目前還沒有十全十美的排序演算法,即使是快速排序法,也只是在整體效能上優越,它也存在排序不穩定 需...
iOS歷史回顧(iOS1 iOS8)
蘋果在9月推出了ios8,推出了iphone6和iphone6 想想我還看到身邊有朋友在用iphone1呢,當然,公升級不到這麼高版本了,但用的居然還是好好的,不得不說蘋果的手機質量還是可圈可點的。下面列出歷史上的圖 我們可以看到,蘋果實際上每年都在推陳出新,iphone的id一直有變化,尺寸變薄,...