看到一篇很好的關于檢查自己iOS開發(fā)能力的文章,所以想嘗試著翻譯成中文。英文水平有限,有錯誤的地方歡迎指出。
[原文地址] ( "What skills would I need for a job as an iOS developer ? " http://roadfiresoftware.com/2014/04/how-to-become-a-professional-ios-developer/ )
你應該能夠從頭開始編寫一個iOS應用
- 擁有用images,lables,text views,buttons,pickers以及其他控件完成的用戶界面-通過自定義代碼,使用xibs,使用Storyboards等方式來定義(同時了解三種方式是額外加分項)。
- 使用Auto Layout確保views在各種屏幕尺寸或者設備方向上都呆在它們該呆的位置上。
- 通過用buttons,switches,sliders,pickers,table views,和其他控件來處理用戶交互。
- 擁有多種導航控制器類型,如tab bar controllers,navigation controllers 和 page view controllers 以及它們的混合體。
- 展示一個用戶能夠關閉的模態(tài)視圖(modal view)
- 展示提醒(alerts)和動作表(action sheets),并且處理當中的輸出。
- 從text views 中接收用戶的輸入。
- 在適當?shù)臅r機下通過代碼關閉鍵盤
- 擁有一個滾動流暢的scroll view ??梢允且粋€一次滾動一頁的scroll view 或者是一次兩頁。例如,你有一個scroll view 水平滾動時一次一頁但是可以平滑的垂直滾動。 注:這一條不是很明白-0-
- 創(chuàng)建異步的網(wǎng)絡請求(network request)來發(fā)送和接收來自API的數(shù)據(jù)。
- 使用自定義的模型對象(model object)來表示你的應用中的基本數(shù)據(jù)類型。
- 解析 JSON并且反序列化(deserializes)到模型對象。
- 序列化模型對象到 JSON并且發(fā)送給目標API。
- 擁有一個表視圖來展示從網(wǎng)絡請求中獲得的一系列數(shù)據(jù)。
- 在一個web view中顯示一個網(wǎng)頁頁面。
- 在NSUserDefaults中存儲本地數(shù)據(jù)
- 串聯(lián),計算和操作strings,number,dates來合適的展示它們
你應該能夠探討:
- 用戶界面指南(the Human Interface Guidelines)以及優(yōu)秀的UI是怎么構成的?
- 在你的處理中各類控件是什么(角色),以及什么時候使用它們才合理。
- 在 Xcode中使用調(diào)試器來跟蹤問題。
- 視圖控制器生命周期(the UIViewController lifecycle),各種被調(diào)用的方法,它們調(diào)用的時間,以及該用它們做些什么工作。
- 程序生命周期(the application lifecycle),各種被調(diào)用的方法,它們調(diào)用的時間,以及該用它們做些什么工作。
- 代理(delegation)的概念,iOS API中應用到代理的一些例子,并且你應該能夠創(chuàng)建并且使用你自己的代理API。