仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2450|回复: 20
打印 上一主题 下一主题

[学习教程] IOS制作之iOS开辟实习小程序――秒表仓酷云

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:44:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
所以你可以用很多方法存储数据比如最长用的sqlite当然如果另类也可以用plist文件或者其他NSManagedObjectContextNSManagedObjectContext比来事情不忙,空闲之余自学了一下object-c,体验了一把ios无敌的framework。想写个小使用练练手,给本人挑了个复杂的标题:仿照完成一下ios体系使用时钟里的秒表程序,就是这个使用:

<br>
次要完成的功效:

1.由start/stop键完成计时
2.有reset/lap键完成复位和计次
必要思索的点:

1.工夫的暗示办法(有良多种思绪)
2.计次数据的倒序分列,即计次1的数据在最底端,顺次向上为计次2,计次3的工夫数据
我的完成:

ARC省往了我们自行办理内存的年夜部分事变,写惯了c++因而恬逸了良多
[cpp]

  • -(IBAction)startOrstop:(UIButton*)sender
  • {
  • //点击切换按钮背景图
  • UIImage*newImage=(checked)?[UIImageimageNamed:@"red.png"]:[UIImageimageNamed:@"green.png"];
  • [leftBtnsetBackgroundImage:newImageforState:UIControlStateNormal];

  • NSString*titlel=(checked)?(@"Stop"):(@"Start");
  • [leftBtnsetTitle:titlelforState:UIControlStateNormal];
  • NSString*titler=(checked)?(@"Lap"):(@"Reset");
  • [rightBtnsetTitle:titlerforState:UIControlStateNormal];


  • if(checked)//start
  • {
  • timer=[NSTimerscheduledTimerWithTimeInterval:0.1target:selfselector:@selector(updateTime)userInfo:nilrepeats:YES];
  • }else{//stop
  • [timerinvalidate];
  • }

  • checked=!checked;
  • }

  • -(IBAction)resetOrLap:(UIButton*)sender
  • {
  • staticNSIntegercount=1;

  • if(checked)//reset
  • {
  • time=time_lap=0.0;
  • timestr=[NSStringstringWithFormat:@"00:00.0"];
  • [labelsetText:timestr];
  • list_time=list_lap=nil;
  • count=1;
  • [tableviewreloadData];

  • }else{//lap
  • if(list_time==nil){
  • list_time=[[NSArrayalloc]initWithObjects:timestr_lap,nil];
  • list_lap=[[NSArrayalloc]initWithObjects:[NSStringstringWithFormat:@"%d",count++],nil];
  • }else{
  • #if0
  • [listarrayByAddingObject:timestr];
  • #else
  • NSArray*array=[[NSArrayalloc]initWithObjects:timestr_lap,nil];
  • list_time=[arrayarrayByAddingObjectsFromArray:list_time];
  • array=[[NSArrayalloc]initWithObjects:[NSStringstringWithFormat:@"%d",count++],nil];
  • list_lap=[arrayarrayByAddingObjectsFromArray:list_lap];
  • #endif
  • }
  • time_lap=0;
  • [tableviewreloadData];
  • }
  • }

  • -(float)updateTime
  • {
  • time+=0.1;
  • time_lap+=0.1;
  • timestr=[NSStringstringWithFormat:@"%02d:%04.1f",(int)(time/60),time-(60*(int)(time/60))];
  • timestr_lap=[NSStringstringWithFormat:@"%02d:%04.1f",(int)(time_lap/60),time_lap-(60*(int)(time_lap/60))];
  • [labelsetText:timestr];
  • returntime;
  • }


  • -(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section
  • {
  • return[list_timecount];
  • }

  • -(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath
  • {
  • staticNSString*tableViewIdentifier=@"tableViewIdentifier";
  • UITableViewCell*cell=[tableViewdequeueReusableCellWithIdentifier:tableViewIdentifier];
  • if(cell==nil){
  • cell=[[UITableViewCellalloc]initWithStyle:UITableViewCellStyleValue1reuseIdentifier:tableViewIdentifier];
  • }

  • NSUIntegerrow=[indexPathrow];

  • cell.detailTextLabel.text=[list_timeobjectAtIndex:row];
  • cell.detailTextLabel.textColor=[UIColorblackColor];
  • cell.detailTextLabel.font=[UIFontboldSystemFontOfSize:25.0];
  • cell.detailTextLabel.textAlignment=UITextAlignmentCenter;

  • NSString*text=[[NSStringalloc]initWithFormat:@"lap%@",[list_lapobjectAtIndex:row]];
  • cell.textLabel.text=text;
  • returncell;
  • }

-(IBAction)startOrstop:(UIButton*)sender{//点击切换按钮背景图UIImage*newImage=(checked)?[UIImageimageNamed:@"red.png"]:[UIImageimageNamed:@"green.png"];[leftBtnsetBackgroundImage:newImageforState:UIControlStateNormal];NSString*titlel=(checked)?(@"Stop"):(@"Start");[leftBtnsetTitle:titlelforState:UIControlStateNormal];NSString*titler=(checked)?(@"Lap"):(@"Reset");[rightBtnsetTitle:titlerforState:UIControlStateNormal];if(checked)//start{timer=[NSTimerscheduledTimerWithTimeInterval:0.1target:selfselector:@selector(updateTime)userInfo:nilrepeats:YES];}else{//stop[timerinvalidate];}checked=!checked;}-(IBAction)resetOrLap:(UIButton*)sender{staticNSIntegercount=1;if(checked)//reset{time=time_lap=0.0;timestr=[NSStringstringWithFormat:@"00:00.0"];[labelsetText:timestr];list_time=list_lap=nil;count=1;[tableviewreloadData];}else{//lapif(list_time==nil){list_time=[[NSArrayalloc]initWithObjects:timestr_lap,nil];list_lap=[[NSArrayalloc]initWithObjects:[NSStringstringWithFormat:@"%d",count++],nil];}else{#if0[listarrayByAddingObject:timestr];#elseNSArray*array=[[NSArrayalloc]initWithObjects:timestr_lap,nil];list_time=[arrayarrayByAddingObjectsFromArray:list_time];array=[[NSArrayalloc]initWithObjects:[NSStringstringWithFormat:@"%d",count++],nil];list_lap=[arrayarrayByAddingObjectsFromArray:list_lap];#endif}time_lap=0;[tableviewreloadData];}}-(float)updateTime{time+=0.1;time_lap+=0.1;timestr=[NSStringstringWithFormat:@"%02d:%04.1f",(int)(time/60),time-(60*(int)(time/60))];timestr_lap=[NSStringstringWithFormat:@"%02d:%04.1f",(int)(time_lap/60),time_lap-(60*(int)(time_lap/60))];[labelsetText:timestr];returntime;}-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section{return[list_timecount];}-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*tableViewIdentifier=@"tableViewIdentifier";UITableViewCell*cell=[tableViewdequeueReusableCellWithIdentifier:tableViewIdentifier];if(cell==nil){cell=[[UITableViewCellalloc]initWithStyle:UITableViewCellStyleValue1reuseIdentifier:tableViewIdentifier];}NSUIntegerrow=[indexPathrow];cell.detailTextLabel.text=[list_timeobjectAtIndex:row];cell.detailTextLabel.textColor=[UIColorblackColor];cell.detailTextLabel.font=[UIFontboldSystemFontOfSize:25.0];cell.detailTextLabel.textAlignment=UITextAlignmentCenter;NSString*text=[[NSStringalloc]initWithFormat:@"lap%@",[list_lapobjectAtIndex:row]];cell.textLabel.text=text;returncell;}
最终效果:


<br>
<br>

<br>
待改善的中央:

1.关于工夫的计时操纵和UI事务应当分分歧线程完成,这里我偷懒了
2.关于工夫的暗示办法实在也是很偷懒的,没有依照尺度的秒分进位暗示
若有发明任何毛病、不当的中央请指导,感谢。

把上面两个对象连在一起把他们变成一个整体所有的CD操作都是通过这个类的这个需要仔细看文档了举个不恰当的例子就像三个人收拾衣服一个人负责衣服的存放位置(NSManagedObjectModel)一个人负责把衣服分类冬天穿夏天穿等(NSPersistentStoreCoordinator)
透明 该用户已被删除
沙发
发表于 2015-1-19 08:07:55 | 只看该作者
自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉
只想知道 该用户已被删除
板凳
发表于 2015-1-19 17:04:11 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
爱飞 该用户已被删除
地板
发表于 2015-1-24 05:03:48 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
简单生活 该用户已被删除
5#
发表于 2015-1-27 05:05:31 | 只看该作者
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
乐观 该用户已被删除
6#
发表于 2015-1-29 06:54:37 | 只看该作者
然而,在vmware软件环境下,安装Mac OS X操作系统也是一件非常复杂的事情,而且还有可能花费了大量时间,最后却跑不起来。笔者也是经过了大量的实践,
海妖 该用户已被删除
7#
发表于 2015-1-30 20:41:58 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
第二个灵魂 该用户已被删除
8#
发表于 2015-1-30 22:05:33 | 只看该作者
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
因胸联盟 该用户已被删除
9#
发表于 2015-2-6 00:05:08 | 只看该作者
特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地
若相依 该用户已被删除
10#
发表于 2015-2-7 17:53:50 | 只看该作者
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
小魔女 该用户已被删除
11#
发表于 2015-2-9 09:15:15 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
再现理想 该用户已被删除
12#
发表于 2015-2-27 05:09:39 | 只看该作者
近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,
蒙在股里 该用户已被删除
13#
发表于 2015-3-5 03:43:26 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
老尸 该用户已被删除
14#
发表于 2015-3-6 00:27:29 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
灵魂腐蚀 该用户已被删除
15#
发表于 2015-3-6 19:35:17 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
变相怪杰 该用户已被删除
16#
发表于 2015-3-13 06:56:05 | 只看该作者
首先是基础,在汉昌的课程非常全面。从object—c到最后的毕业项目,基本上方方面面都涉及到了,我是一名非计算机专业的学生,起初学习还有点吃力,因为基础知识薄弱。经常像听天书
admin 该用户已被删除
17#
发表于 2015-3-20 15:26:21 | 只看该作者
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
柔情似水 该用户已被删除
18#
发表于 2015-3-24 21:34:22 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
小妖女 该用户已被删除
19#
发表于 2015-3-25 13:29:50 | 只看该作者
有办法利用自己手头的电脑立刻开始这个美妙旅程的。
再见西城 该用户已被删除
20#
 楼主| 发表于 2015-3-27 09:28:40 | 只看该作者
然而,在vmware软件环境下,安装Mac OS X操作系统也是一件非常复杂的事情,而且还有可能花费了大量时间,最后却跑不起来。笔者也是经过了大量的实践,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 23:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表