11月23日我的第一堂iOS课(重庆的悦卓iOS)

来源:互联网 发布:视力恢复软件 编辑:程序博客网 时间:2024/04/28 07:10


     第一节课,东哥(悦卓iOS创始人彭孝东)让我们做一个小项目(“lucky man”,即是随机点名软件),通过这个项目我们初步认识了iOS的开发环境和知道了iOS项目开发的大概流程,以及一个项目开发需要做些什么,其中还穿插地和我们讲了一些良好的编码习惯和一些代码的典故,整堂课丰富细致,带我走到iOS开发的大门前,激发了我走进iOS开发大门的极大兴趣羡慕


    一,项目开发的大概流程

    A,一个软件开发需要4种队友,前端,后台,码农,产品经理。产品经理从客户中得到的要求后和其他3种队友商讨研发软件的方案,其中这个方案的核心就是:这个软件需要什么功能(最好只专注一个功能),[比如说超级课程表这个软件,只做课程表,没有把摇一摇,校友录之类的功能都放在一起,这个软件只要把课程表这一个功能做好了就牛逼了,据说获得了两轮投资,有一轮还是500多万]  


    B,初步开发了测试版的软件后,通过观察和寻找客户的需求来完善软件。

    

    C,软件完成。


    二,良好的编码习惯和风格:


    A,敲代码速度要快,这会体现一个程序员思维清晰,代码写得多。


    B,逻辑要清晰,谨慎对待代码格式,满世界找一个标点符号改浪费时间精力。

 

    三, 上课体会。

  

    A,要练好敲键盘手势和速度。

    B,多敲代码,要记录自己的错误,避免重复出错,提高效率。

    C,一个问题总有很多种解决方法,多思考不同的算法,锻炼思维。



以下为这次的小项目的代码(Created by hello H on 14-11-23.)



//  ViewController.m

//  Luckyman

//

//  Created by hello H on 14-11-23.

//  Copyright (c) 2014 Huanghongchang. All rights reserved.

//


#import "ViewController.h"


@interface ViewController ()

@property (nonatomic,strong) NSArray *dataSourceArray;//保存所有人的名字

@property (nonatomic,strong) NSTimer *timer;//定时器

@end


@implementation ViewController


- (void)viewDidLoad

{

    [super viewDidLoad];

//把所有人的名字保存到一个数组里面

    self.dataSourceArray = @[@"张荣珺晨", @"陈雨莲", @"温哲",@"彭韵婕",@"魏相民",@"叶何蔚",@"余啸",@"闫奥博",@"徐梓航",@"孙威",@"顾鑫",@"朱嘉鹏",@"宋晓羽",@"池昊宇",@"黄鸿昌"];

}


- (void)didReceiveMemoryning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


//响应按钮的点击事件

- (IBAction)buttonDidClicked:(UIButton *)sender {

    

    

    //切换按钮的标题

    if ([sender.titleLabel.text isEqualToString:@"Start"]) {

        //设置标题为stop

        [sender setTitle:@"Stop" forState:UIControlStateNormal];

    

        //启动定时器

        self.timer = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(changeName) userInfo:nil repeats:YES];

    }else {

        

        //设置标题为Start

        [sender setTitle:@"Start"  forState:UIControlStateNormal];

        

        //关闭定时器

        [self.timer invalidate];

        

        //保存当前的位置

        CGRect rect = self.selectedNameLabel.frame;

        

        //移动位置到起始点

        self.selectedNameLabel.center = _scroNameLabel.center;

        

        //添加动画

        [UIView beginAnimations:nil context:nil];

        [UIView setAnimationDuration:1];

        //获取当前选中的人

        self.selectedNameLabel.text = _scroNameLabel.text;

        self.selectedNameLabel.frame  = rect;

        

        [UIView commitAnimations];

    }

}

//定时器触发之后 将来执行这个方法

-(void) changeName{

    //产生一个随机数

    int index = arc4random() % _dataSourceArray.count;

    

    //从数组里面去获取 index对应的人的名字

    NSString *tempName = [_dataSourceArray objectAtIndex:index];

    

    //将当前这个人的名字现实到滚动的label

    self.scroNameLabel.text = tempName;

    

}

@end




0 0