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
- 11月23日我的第一堂iOS课(重庆的悦卓iOS)
- iOS 获取日期的年、月、日
- 2004年10月20日,我的第一篇文章
- 2017年10月30日,我的第一篇文章
- 2011年7月9日 阳光灿烂的重庆
- 我的第一次份实习工作-iOS实习生-第一个月
- 2017年12月11日 13:05:08 我的第一个博客
- 我的第一个iOS App
- 我的第一个iOS Demo
- 2011年2月21日第一堂课(新来的老师哦!!!)
- IOS开发-我的第一个IOS程序
- ios开发入门-我的第一个ios程序 helloword
- 安卓的第一份实验单【2014年10月15日布置,11月11日上交】
- IOS 获取指定月的第一天和最后一天
- iOS之获取定月的第一天和最后一天
- JAVA的第一课4月16日
- 2月11日iOS学习笔记
- 整理下iOS常用的三方库,以备查阅。2015年11月21日更新
- Ruby转义字符
- hdu3706基础的单调队列
- SVN服务器搭建
- pat 1028 List Sorting
- 机器学习随记
- 11月23日我的第一堂iOS课(重庆的悦卓iOS)
- 12中应该避免使用的语法
- 如何成为一个合格的电子工程师?
- 第十三周 项目1-5 数组大折腾
- oracle10g使用总结(一)oracle的安装
- 内核模块踩内存问题定位利器- hardware breakpoint
- 数据挖掘之相似性度量
- TCP/IP网络协议的相关面试题
- cpu-一级二级三级缓存