最近不少零基础来参加蓝鸥培训的学生常常会问到一些学习方法的问题,就以下我本身见过的好的学习方法一块儿讨论一下.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