IOS学前班

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

准备工作:
    1、Mac平台电脑一台
    2、Xcode 4.1开发平台,一般Mac电脑都带。

第一个IOS程序
   需求:实现一个3*3的棋盘,能够把玩家放置到棋盘上,还能获得某个位置上的玩家。

首先在Xcode下新建一个项目, IOS -> Application -->View-based Application
IOS学前班_第1张图片
剩下的按照具体情况填写就行,如果需要使用unit test,记得勾选Unit Test。项目创建好之后整个project的目录如下:
IOS学前班_第2张图片

  接着,编写测试用例,上面的目录中有一个叫做<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,下课。

你可能感兴趣的:(ios)