IOS学前班

学前班的主要面向的是毫无IOS开发经验的同学,让大家能够快速的写出自己的第一个IOS程序。

[b]准备工作:
[/b] 1、Mac平台电脑一台
2、Xcode 4.1开发平台,一般Mac电脑都带。
[b]
第一个IOS程序
需求:实现一个3*3的棋盘,能够把玩家放置到棋盘上,还能获得某个位置上的玩家。

[/b]首先在Xcode下新建一个项目, IOS -> Application -->View-based Application
[img]http://dl.iteye.com/upload/attachment/0067/8470/807d1fc8-36bf-35cf-be00-5478bc65a4ff.png[/img]
剩下的按照具体情况填写就行,如果需要使用unit test,记得勾选Unit Test。项目创建好之后整个project的目录如下:
[img]http://dl.iteye.com/upload/attachment/0067/8475/e3871f1a-0ac1-3222-a761-4555d2c5a933.png[/img]

接着,编写测试用例,上面的目录中有一个叫做<project-name>Tests的目录(如果创建项目的时候未勾选Unit Test项的话可能没有),里面有<project-name>Tests.h和<project-name>Tests.m文件。object-c语言是一种类似c++的语言,.h文件是头文件,会定义该类中需要用到的变量,需要实现的方法,而.m文件就是具体的实现类。点开.m文件,得到代码:
#import "IOSDemoTests.h"

@implementation IOSDemoTests

//'-' 表示instance method,‘+’类方法
- (void)setUp
{
//object-c中的函数调用方法,也可使用super.setUp,但是最好使用[]
[super setUp];
}

- (void)tearDown
{
// Tear-down code here.

[super tearDown];
}

- (void)testExample
{
STFail(@"Unit tests are not implemented yet in IOSDemoTests");
}

@end
这个结构和junit中很相似,接下来就把项目需要的测试添加到该文件中,作为学前班,就先不分文件写unit test了, 直接在.m文件中添加测试
- (void)testGameboard
{
//Object-c中的构造函数
Gameboard *board = [[Gameboard alloc] init];

//Object-c中的调用函数,和传参方式,使用字符串前要加@
[board movePlayer:@"playerA" row:0 col:0];

//Object-c中的assert方式
STAssertEquals([board playerAtRow:0 col:0], @"playerA",
@"playerAt... should return 'playerA'");
}


接下来实现Gameboard类,同样在.h中定义类的属性,方法,在.m中实现。
#import <Foundation/Foundation.h>

@interface Gameboard : NSObject
{
//定义类属性,NSSTring为object-c中的String类型
NSString *player_;
NSString *board_[3][3];
}

//通过property标签,为属性生成读写方法,和ruby的写法类似
@property (nonatomic,retain) NSString *player_;

//定义方法,返回值,属性等
-(void)movePlayer:(NSString *)player row:(int) row col:(int) col;

- (NSString *) playerAtRow:(int) row col:(int) col;

@end

#import "Gameboard.h"

@implementation Gameboard

//对应.h文件中的@property
@synthesize player_;

- (id)init
{
self = [super init];
return self;
}

- (void) movePlayer:(NSString *)player row:(int) row col:(int) col
{
board_[row][col] = player;
}

-(NSString *) playerAtRow:(int)row col:(int)col
{
return board_[row][col];
}

@end


实现好之后,把实现类的头文件import到测试类中
#import "Gameboard.h"


最后,跑测试,“command” + u 运行测试,得到如下 “Test Successed”的提示。 OK,下课。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值