從一個iOS毛頭小子到現在的高級工程師, 我總結了一些經驗,先跟大家分享一下一些好的資料

来源:https://www.cnblogs.com/IOSkf/archive/2020/05/15/12894608.html

1.1. 首先推薦幾本教材: http://www.bignerdranch.com/we-write/objective-c-programming.html http://www.bignerdranch.com/we-write/ios-programming.html (這兩本書都有中文版的 ...


1.1. 首先推薦幾本教材:

http://www.bignerdranch.com/we-write/objective-c-programming.html

http://www.bignerdranch.com/we-write/ios-programming.html

(這兩本書都有中文版的)

不管學什麼編程語言都應該多實踐,看一小時書寫一小時代碼,不懂的查書看。

剛學iOS時我看了好幾本書,覺得這兩本寫的很好,很系統,有點相見恨晚的趕腳。

這兩本應該以 iOS 那本為主,OC 那本作為參考,

初學時沒必要看完這兩本才做app,如果看了一半覺得可以就開始寫自己想寫的app, 邊做邊學,事半功倍。

如果你覺得以上兩本都掌握了,可以看本刺激的書來升華一下:

http://www.bignerdranch.com/we-write/advanced-mac-osx-programming.html

這本書有很多有用的代碼,內容涵蓋多線程,網路通訊,安全,Block 等,想要稱為高級開發人員,這本書一定要看看。

1.2 蘋果的 Programming Guide 很有用

蘋果的programming guide 寫得很好很詳細,不過個人覺得不太適合入門,如果基礎比較扎實又想提高一下必須看看 Concurrency, Block, Core Data (尤其是core data 在多線程中的實現),Core Animation (想要做出好看的app, 一定要有炫酷的動畫效果,小牛哥的一個開源app裡面也有很多 2D/3D動畫實例: https://github.com/frodoman/crazy-cup-2014 )programming guide, Google 一下就可以找到,都是免費下載的。

1.3. 有空一定要看看喬布斯的傳記。

作為 iOS 開發員,一定要讀懂理解蘋果的產品,為什麼蘋果的產品這麼簡單易用功能又強大?為什麼一個快要破產的公司後來可以拋離微軟谷歌幾條街? iPod,iPhone,iPad 這些跨時代的產品是怎樣研發出來的? 小牛哥當時買的是有聲讀物( https://itunes.apple.com/gb/audiobook/steve-jobs-exclusive-biography/id474962097 ) , 每天擠地鐵時聽聽,兩個多星期才聽完第一遍,每次聽都收穫匪淺。在面試的時候顯擺一下裡面有意思的故事,面試官馬上對你刮目相看。

更重要的是要把裡面關於UX (用戶體驗) 設計的理論應用起來。比如在蘋果設計iPod的導航菜單時,喬幫主提出: 不管用戶想聽什麼,只要點擊3次就可以找到。(因為超過3重導航用戶容易get lost) 小牛哥從此就註意,每次只要用UINavigationCroller 就保證不超過3重菜單,Sometimes有 SB UX 想要加好幾重導航,小牛哥只能感慨的長嘆:喬老幫主死不瞑目啊。。。然後很快就會看見一個新版本的UX設計。

1.4 一些很好的視頻必須看看

什麼是跨時代的偉大產品,什麼是創造歷史,看看第一代iPhone的發佈視頻吧。這個小牛哥反覆看了幾遍,除了學到一些做presentation 的口語,還學到了一些有用的UX 原理。(忍不住要感慨一下: 喬老幫主太牛了,如果沒有iPhone, Andriod 也不會有今天繁華的局面,人類智能手機的發展將倒退好幾年。也許正因為這個,上帝才不讓喬幫主多活。。。嗚呼哎哉!上帝什麼時候才會再賜一個喬幫主給人類啊!)

在這裡不能不提一下,很多人做ppt/presentation時, 喜歡把一大堆文字和表格放到一頁上,誰會看啊? 眼睛都忙不過來怎麼聽清楚說什麼啊? 我們做ppt都應該想老喬的那樣,簡單大方,每頁幾個字或幾張圖片,這樣觀眾一看就明白說什麼,

YouTu 上還有很多優秀的關於 iOS/UX 的視頻,大家有空看看,能學到很多。

例如,這個系列的視頻不錯:

UIKonf 2014

https://www.youtube.com/watch?v=44-2vmqQBl0

1.5 最好把英語學好

這個不是特別重要,但是學好了,你就更容易脫穎而出。

其實不管哪門編程語言,最好的資料一般都是英文的,學好英文就可以學更多更好的技術,更容易瞭解編程的思維。

我本身英語也不好,四級都要考幾次,關鍵就是要多用,天天用,上面提到的視頻就是很好的口語教材,有空一定要多聽多說。

提高英文寫作水平的一個很有效的方法就是多背好文章。當年為了把文章寫好,背很多這本書里的文章,效果不錯,大家不妨試試,

資料獲取:1、喜歡小編簡書這篇文章

作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個我的iOS交流群:761407670 進群密碼'博客',不管你是小白還是大牛歡迎入駐 ,分享BAT,阿裡面試題、面試經驗,討論技術, 大家一起交流學習成長!

 


您的分享是我們最大的動力!

更多相關文章
  • [TOC] 前言 mysqlbinlog工具的作用是解析mysql的二進位binlog的日誌內容,把二進位日誌解析成可以在MySQL資料庫里執行的SQL語句。 1.mysql的binlog日誌是什麼 mysql數據目錄下的xxx bin.000001這樣的文件就是mysql的binlog日誌 2.m ...
  • [TOC] 1.資料庫恢復基本事項 MySQL命令以及source命令恢複數據庫的原理就是在資料庫里重新執行文件的SQL語句的過程。數據恢復和字元集的關聯很大,如果字元集不正確則會導致恢復的數據亂碼。 2.利用source命令恢複數據庫 2.1.使用source命令恢複數據庫的說明 進入MySQL數 ...
  • 1.創建用於接收blob類型的實體類 1 @Getter 2 @Setter 3 public class FileEntity implements Serializable { 4 private static final long serialVersionUID = -55445605143 ...
  • 一、什麼是游標? 游標(Cursor)是處理數據的一種方法,為了查看或者處理結果集中的數據,游標提供了在結果集中一次一行或者多行前進或向後瀏覽數據的能力。 游標實際上是一種能從包括多條數據記錄的結果集中每次提取一條記錄的機制。游標可以被看作是一個查詢結果集(可以是零條、一條或由相關的選擇語句檢索出的 ...
  • 使用 YEAR(), MONTH(), DAY() 來獲取年月日 SELECT YEAR(application_date) as years, count(1) FROM patent GROUP BY YEAR(application_date) ORDER BY years -- YEAR(a ...
  • 主從同步遇到 Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'時怎麼解決? 首先遇到這個是... ...
  • 本文介紹Druid查詢數據的方式,首先我們保證數據已經成功載入。 Druid查詢基於HTTP,Druid提供了查詢視圖,並對結果進行了格式化。 Druid提供了三種查詢方式,SQL,原生JSON,CURL。 一、SQL查詢 我們用wiki的數據為例 查詢10條最多的頁面編輯 提交sql 還可以通過H ...
  • 前段時間嘗試了最新版的AndroidStudio3.6,整體來說gradle調試和自帶的虛擬機相比較歷史版本有了更香的體驗。 剛好有個新項目,就直接使用最新版了,這次新版的升級除了保持原有的界面風格,主要還是優化了編譯速度的短板問題,所以新項目很快就開發完成了。然而在打包的時候卻出了點小插曲,下麵先 ...
一周排行
  • 一:背景 1. 講故事 曾今在項目中發現有同事自定義結構體的時候,居然沒有重寫Equals方法,比如下麵這段代碼: static void Main(string[] args) { var list = Enumerable.Range(0, 1000).Select(m => new Point ...
  • 最近一個朋友有個關於素數的小東西要寫一下,素數是什麼呢?除了1和他本身不能被其他數整除,那麼這個數就是素數,1除外哦。我們知道概念那就很簡單了,直接代碼擼起。 ...
  • 前言 在開發編程中,我們經常會遇到功能非常相似的功能模塊,只是他們的處理的數據不一樣,所以我們會分別採用多個方法來處理不同的數據類型。但是這個時候,我們就會想一個問題,有沒有辦法實現利用同一個方法來傳遞不同種類型的參數呢? 這個時候,泛型也就因運而生,專門來解決這個問題的。 泛型是在C 2.0就推出 ...
  • 本文章主要用於介紹在Asp.Net Mvc(C#)中使用Fleck製作一個Html5的即時聊天室,含有完整代碼和演示Demo。 ...
  • 出庫單的功能。能學習了出庫單管理之後,WMS的 主體功能算是完成了。當然一個成熟的WMS還包括了盤點,報表,策略規則,移庫功能及與其他系統(ERP、TMS等)的介面,實現無縫集成,打破信息孤島,讓數據實時、準確和同步。 ...
  • Data StructureThere're two types of variables in C#, reference type and value type.Enum:enum Color{Red=0,Green=1}//equals to enum Color{Red,//start fr... ...
  • 0. 前言 該項目使用Maven進行管理和構建,所以需要預先配置好Maven。嗯,在這個系列里就不做過多的介紹了。 1. 創建項目 先創建一個pom.xml 文件,添加以下內容: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http: ...
  • API 概述 API(Application Programming Interface),應用程式編程介面。 Java API是一本程式員的 字典 ,是JDK中提供給我們使用的類的說明文檔。 這些類將底層的代碼實現封裝了起來,我們不需要關心這些類是如何實現的,只需要學習這些類如何使用即可。 所以我 ...
  • 女程式員是這麼徵婚的: SELECT * FROM 男人們 WHERE 未婚=true and 同性戀=false and 有房=true and 有車=true and 條件 in (帥氣,紳士,大度,氣質,智慧,溫柔,體貼,會浪漫,活潑,可愛,最好還能帶孩子) and 年齡 between(24 ...
  • 有很多剛學習軟體測試的小伙伴,都會在網路上找尋各種學習資料,去提升自己的專業技能水平。因此,我決定定期分享我整理收集的一些軟體測試的測試工具下載、面試寶典、視頻教學合集。都整理好了,有需要的可以關註我(獲取方式在文末) 軟體測試的學習,不止是基礎理論,還需要學習測試工具的用法,如介面工具Postma ...