[ios学习]零基础学习iOS开发如何分配时间

在培训期间,学生的时间应该如何分配

学生在学习期间的主要工作时间分配

  • 9:00~ 9:30,认真听同学的学习阶段中的分享,俗话说的好"三人行,必有我师";
  • 9:30~ 18:00,认真听老师的课堂上课,并且要准备好一个手写笔记本,好记性不如烂笔头,当然我个人认为记录在电脑上,并不靠谱,而且在复习时还费眼,我从开始上学到现在就一直有在笔记本上写写画画的习惯;
  • 19:00~ 20:00,用一个小时的时间,回忆今天上课的知识点,这时笔记本的重要性就体现了,它可以帮助我们心无旁骛的复习和总结;
  • 20:00~ 22:00,用来完成今天的作业及预习第二天的内容,并且将作业中遇到的问题及预习时遇到的问题记录下来,在第二天上课时可以拿出笔记本来问老师;

如果还有遇到需要时间去补习的内容,可以在每个周周六、周日,通过解决笔记本上的遗漏知识点来补习.

程序员的主要工作是什么

  • 阅读代码
    • 阅读公司中已经处于迭代过程中的代码(理解公司前辈开发过程中的开发思路);
    • 阅读Github上的优秀的代码框架(比较Forks与Stars的数量)(学习其他优秀程序员编写代码功能时的思路);
    • 阅读代码的目的,是我们要做到对项目代码的执行流程和细节做到胸有成竹;

在阅读代码的过程中,需要注意的流程:
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.直到,我们可以将我们负责的模块功能的实现方式.

  • 编写代码
    • 编写功能中的主要逻辑代码(主要以实现功能为主);
    • 编程功能中需要测试逻辑是否正确的测试用例(主要以测试Bug为主);
    • 编写提供给同事或者其他人的接口代码(主要以代码使用方便为主);

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.当开始给同事编写接口代码时,要注意的地方就是方便些与扩展性的问题了:

#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
时间: 2024-10-06 10:49:10

[ios学习]零基础学习iOS开发如何分配时间的相关文章

零基础unity3d游戏开发系列目录

零基础Unity3D游戏开发系列 第一章:游戏开发与游戏引擎(一) 零基础Unity3D游戏开发系列 第一章:游戏开发与游戏引擎(二) 零基础Unity3D游戏开发系列 第二章:Unity3D概览(一)界面... 零基础Unity3D游戏开发系列 第二章:Unity3D概览(一)创建与打开项目I 零基础unity3d游戏开发系列 第二章:unity3d概览(一)创建与打开项目II 零基础Unity3D游戏开发系列 第二章:Unity3D概览(一)创建与打开项目III 零基础Unity3D游戏开发

【零基础学习iOS开发】【01-前言】01-开篇

本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开发 四.学习iOS开发的目的 五.学习iOS开发的前提 从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时评论. 回到顶部 一.什么是iOS 要想学习iOS开发,首先要搞清楚什么是iOS.iOS其实是一款操作系统,就像平时我们在电脑上用的

零基础学习IOS开发(二)- 使用cocos2d-x3.0 执行Hello world

关于开发框架,依据网上检索来的信息,感觉cocos2d-x的ios游戏开发框架非常不错,并且有非常强的可移植性,因此打算尝试一下. 截止写下此文章,最新的cocos2d-x的版本号为v3.0稳定版(几天前刚刚公布),下载地址为:http://www.cocos2d-x.org/filedown/cocos2d-x-3.0-cn 安装方式例如以下: 1.解压程序压缩包(所在路径不能有中文哦,由于是python,你懂的...) 2.sudo python setup.py 安装cocos2d-x,依

零基础学习iOS开发去哪里比较好呢?

很多人选择零基础学习iOS开发,但不知道如何学习更加省力,要知道,C语言是iOS的编程基础,打牢C语言基础至关重要,传智播客iOS培训机构作为行业最具权威的iOS研发和人才培训中心,是教育部教育信息管理中心认证的全国移动互联网开发人才实训基地,专业的教学培养大批高技能iOS开发者,传智播客注重基础教学,从C语言开发学习到进入下一阶段的学习,需经过严格的进阶制考核,以保证有足够的能力接受iOS应用开发技能.      C语言是iOS的基础,学好C语言对iOS应用开发和iOS手游开发都起着重要作用,

【零基础学习iOS开发】【转载】

原文地址:http://www.cnblogs.com/mjios/archive/2013/04/24/3039357.html 本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开发 四.学习iOS开发的目的 五.学习iOS开发的前提 从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时

李洪强iOS开发之【零基础学习iOS开发】【01-前言】01-开篇

从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时评论. 一.什么是iOS 要想学习iOS开发,首先要搞清楚什么是iOS.iOS其实是一款操作系统,就像平时我们在电脑上用的XP.Win7,都是操作系统. 那什么是操作系统呢?操作系统其实是一种软件,是直接运行在硬件(电脑.手机等)上的最基本的系统软件,任何

[原]零基础学习在Android进行SDL开发系列文章

[原]零基础学习SDL开发之移植SDL2.0到Android [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP图 [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP叠加图 [原]零基础学习SDL开发之在Android使用SDL2.0渲染PNG图片 [原]零基础学习SDL开发之在Android使用SDL2.0加载字体 [原]零基础学习在Android进行SDL开发后记 [原]零基础学习在Android进行SDL开发系列文章,布布扣,bubuko.com

[原]零基础学习在Android进行SDL开发后记

本着学习交流记录的目的编写了这个系列文章,主要用来记录如何从零开始学习SDL开发的过程,在这个过程中遇到了很多问题,差点就放弃了.首先是SDL的Android移植的时候遇到了比较坑的是SDL移植到Android的JNI文件编写比较坑,刚开始想着如何将SDL编译成动态共享库,在别的地方直接调用该动态共享库,结果发现死活崩溃在SDL_Init()这个函数,最后发现SDL的JNI文件直接使用SDLActivity的函数,并且JNI采用静态注册的方式.直接在别的地方调用该动态库就跪了,博主能力又有限,又

MongoDB实战开发 【零基础学习,附完整Asp.net示例】

MongoDB实战开发 [零基础学习,附完整Asp.net示例] 阅读目录 开始 下载MongoDB,并启动它 在C#使用MongoDB 重构(简化)代码 使用MongoDB的客户端查看数据 使用MongoDB的客户端维护数据 MongoDB提供的C#驱动 MongoDB不支持在查询数据库时使用Join操作 获取MongoDB服务端状态 [目标]:本文将以实战的形式,向您展示如何用C#访问MongoDB,完成常见的数据库操作任务, 同时,也将介绍MongoDB的客户端(命令行工作模式)以及一些基