[iOS]关于零基础学习iOS开发的学习方法总结
關于零基礎學習iOS開發(fā)的學習方法總結(jié)
最近很多零基礎來參加藍鷗培訓的學生經(jīng)常會問到一些學習方法的問題,就如下我自己見過的好的學習方法一起討論一下.
- 藍鷗iOS開發(fā)技術的學習路線圖
- 程序員的主要工作是什么
- 在培訓期間,老師與學生的時間應該如何分配
藍鷗培訓的主要內(nèi)容是什么
- iOS開發(fā)技術
- Unity3D開發(fā)技術
- Android開發(fā)技術
- HTML5開發(fā)技術
iOS開發(fā)技術的學習路線圖
- [x] C語言技術基礎
- [x] OC開發(fā)基礎
- [x] UI界面開發(fā)基礎
- [x] 項目數(shù)據(jù)邏輯
- [x] iOS高級程序開發(fā)
- [x] 項目優(yōu)化技術
- [x] 團隊配合技術
程序員的主要工作是什么
- 閱讀代碼
- 閱讀公司中已經(jīng)處于迭代過程中的代碼(理解公司前輩開發(fā)過程中的開發(fā)思路);
- 閱讀Github上的優(yōu)秀的代碼框架(比較Forks與Stars的數(shù)量)(學習其他優(yōu)秀程序員編寫代碼功能時的思路);
- 閱讀代碼的目的,是我們要做到對項目代碼的執(zhí)行流程和細節(jié)做到胸有成竹;
在閱讀代碼的過程中,需要注意的流程:
1.首先復制一份原始代碼到當前路徑,并且保存為文件名加日期;
2.然后找到AppDelegate.m文件,并且從程序的啟動流程中,閱讀相關的功能代碼;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {//...//程序啟動流程 }3.嘗試注釋程序中的某行我們認為的重要性語句,并且運行程序看結(jié)果;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];// Override point for customization after application launch.self.window.backgroundColor = [UIColor whiteColor];//例如,如下行的代碼就非常重要,因為它決定了我們的本程序是否可以顯示界面//[self.window makeKeyAndVisible];LO_RootViewController *root = [[LO_RootViewController alloc] init];UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:root];self.window.rootViewController = nav;return YES; }4.當遇到與我們期望的運行結(jié)果不同時,可以通過進入該函數(shù)內(nèi)部查看內(nèi)部的實現(xiàn)代碼,并且重復第三步;
5.直到,我們可以將我們負責的模塊功能的實現(xiàn)方式.
- 編寫代碼
- 編寫功能中的主要邏輯代碼(主要以實現(xiàn)功能為主);
- 編程功能中需要測試邏輯是否正確的測試用例(主要以測試Bug為主);
- 編寫提供給同事或者其他人的接口代碼(主要以代碼使用方便為主);
1.主要邏輯代碼剛剛寫完時,其實會很丑,有很多的if,for等等,舉例如下:
- (void)onGetGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error {//if ([result.address isEqualToString:self.startAddressTF.text]) {// 說明當前編碼的對象是開始節(jié)點self.startNode = [[BMKPlanNode alloc] init];// 給節(jié)點的坐標位置賦值_startNode.pt = result.location;// 發(fā)起對目標節(jié)點的地理編碼// 1.創(chuàng)建正向地理編碼選項對象BMKGeoCodeSearchOption *geoOption = [[BMKGeoCodeSearchOption alloc] init];geoOption.city = self.endCityTF.text;geoOption.address = self.endAddressTF.text;// 執(zhí)行正向編碼[self.getCodeSearch geoCode:geoOption];//self.endNode = nil;}else{self.endNode = [[BMKPlanNode alloc] init];_endNode.pt = result.location;}if (_startNode != nil && _endNode != nil) {// 開始進行路線規(guī)劃// 1.創(chuàng)建駕車路線規(guī)劃BMKDrivingRoutePlanOption *drivingRoutOption = [[BMKDrivingRoutePlanOption alloc] init];// 2.指定開始節(jié)點和目標節(jié)點drivingRoutOption.from = _startNode;drivingRoutOption.to = _endNode;// 3.讓路線搜索服務對象搜索路線[self.routeSearch drivingSearch:drivingRoutOption];} }2.用例測試代碼在編寫過程中,其實是最消耗時間的部分,因為要大量的舉例論證Bug:
// Use this for initializationvoid Start (){//打開數(shù)據(jù)庫LOSQLiteTools.OpenDB("yihuiyun");SQLObject[] list = LOSQLiteTools.SelectEntity (typeof(Student));foreach (SQLObject item in list) {Debug.Log (item.ToString());}}3.當開始給同事編寫接口代碼時,要注意的地方就是方便些與擴展性的問題了:
#region 公開函數(shù)/// <summary>/// 異步加載資源/// </summary>public IEnumerator LoadAssetAsync (string assetBundleName){//開始加載包裹yield return StartCoroutine(LoadAssetBundle (assetBundleName));}/// <summary>/// 異步加載場景/// </summary>public IEnumerator LoadLevelAsync (string assetBundleName){//加載資源包yield return StartCoroutine(LoadAssetBundle (assetBundleName));}#endregion在培訓期間,學生的時間應該如何分配
學生在學習期間的主要工作時間分配
- 9:00~ 9:30,認真聽同學的學習階段中的分享,俗話說的好"三人行,必有我?guī)?#34;;
- 9:30~ 18:00,認真聽老師的課堂上課,并且要準備好一個手寫筆記本,好記性不如爛筆頭,當然我個人認為記錄在電腦上,并不靠譜,而且在復習時還費眼,我從開始上學到現(xiàn)在就一直有在筆記本上寫寫畫畫的習慣;
- 19:00~ 20:00,用一個小時的時間,回憶今天上課的知識點,這時筆記本的重要性就體現(xiàn)了,它可以幫助我們心無旁騖的復習和總結(jié);
- 20:00~ 22:00,用來完成今天的作業(yè)及預習第二天的內(nèi)容,并且將作業(yè)中遇到的問題及預習時遇到的問題記錄下來,在第二天上課時可以拿出筆記本來問老師;
如果還有遇到需要時間去補習的內(nèi)容,可以在每個周周六、周日,通過解決筆記本上的遺漏知識點來補習.
順便提供給大家相關的復習視頻:
C語言技術視頻:
鏈接: http://pan.baidu.com/s/1jGH7WQ6 密碼: smv8
iOS技術視頻:
鏈接: http://pan.baidu.com/s/1o6ORsoU 密碼: hvfm
還有需要幫忙的請QQ或者郵箱聯(lián)系我.
QQ:632138357
Mail:xiaohao@lanou3g.com
轉(zhuǎn)載于:https://www.cnblogs.com/daxiaxiaohao/p/4781548.html
總結(jié)
以上是生活随笔為你收集整理的[iOS]关于零基础学习iOS开发的学习方法总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeforces 167B Wiza
- 下一篇: (Android Studio)Acti