最近不少零基礎來參加藍鷗培訓的學生常常會問到一些學習方法的問題,就以下我本身見過的好的學習方法一塊兒討論一下.ios
在閱讀代碼的過程當中,須要注意的流程:
1.首先複製一份原始代碼到當前路徑,而且保存爲文件名加日期;程序員
例如:LODoudizhu2015-03-22
2.而後找到AppDelegate.m
文件,而且從程序的啓動流程中,閱讀相關的功能代碼;數據庫
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //... //程序啓動流程 }
3.嘗試註釋程序中的某行咱們認爲的重要性語句,而且運行程序看結果;編程
- (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.當遇到與咱們指望的運行結果不一樣時,能夠經過進入該函數內部查看內部的實現代碼,而且重複第三步;
5.直到,咱們能夠將咱們負責的模塊功能的實現方式.app
1.主要邏輯代碼剛剛寫完時,其實會很醜,有不少的if,for等等,舉例以下:框架
- (void)onGetGeoCodeResult:(BMKGeoCodeSearch *)searcher result:(BMKGeoCodeResult *)result errorCode:(BMKSearchErrorCode)error { // if ([result.address isEqualToString:self.startAddressTF.text]) { // 說明當前編碼的對象是開始節點 self.startNode = [[BMKPlanNode alloc] init]; // 給節點的座標位置賦值 _startNode.pt = result.location; // 發起對目標節點的地理編碼 // 1.建立正向地理編碼選項對象 BMKGeoCodeSearchOption *geoOption = [[BMKGeoCodeSearchOption alloc] init]; geoOption.city = self.endCityTF.text; geoOption.address = self.endAddressTF.text; // 執行正向編碼 [self.getCodeSearch geoCode:geoOption]; // self.endNode = nil; }else{ self.endNode = [[BMKPlanNode alloc] init]; _endNode.pt = result.location; } if (_startNode != nil && _endNode != nil) { // 開始進行路線規劃 // 1.建立駕車路線規劃 BMKDrivingRoutePlanOption *drivingRoutOption = [[BMKDrivingRoutePlanOption alloc] init]; // 2.指定開始節點和目標節點 drivingRoutOption.from = _startNode; drivingRoutOption.to = _endNode; // 3.讓路線搜索服務對象搜索路線 [self.routeSearch drivingSearch:drivingRoutOption]; } }
2.用例測試代碼在編寫過程當中,實際上是最消耗時間的部分,由於要大量的舉例論證Bug:異步
// Use this for initialization void Start () { //打開數據庫 LOSQLiteTools.OpenDB("yihuiyun"); SQLObject[] list = LOSQLiteTools.SelectEntity (typeof(Student)); foreach (SQLObject item in list) { Debug.Log (item.ToString()); } }
3.當開始給同事編寫接口代碼時,要注意的地方就是方便些與擴展性的問題了:ide
#region 公開函數 /// <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
學生在學習期間的主要工做時間分配函數
若是還有遇到須要時間去補習的內容,能夠在每一個週週6、週日,經過解決筆記本上的遺漏知識點來補習.
順便提供給你們相關的複習視頻:學習
連接: http://pan.baidu.com/s/1jGH7WQ6 密碼: smv8
連接: http://pan.baidu.com/s/1o6ORsoU 密碼: hvfm
還有須要幫忙的請QQ或者郵箱聯繫我. QQ:632138357 Mail:xiaohao@lanou3g.com