Chapter 10 - TicTac...Crashing due to exception
...later...
Section missing in the book!!! ...on <NSCoding>
GameState.h
//
// GameState.h
// TicTac
//
// Created by Alessi Patrick on 8/26/11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
typedef enum {
TTxPlayerTurn = 1, // The x player's turn
TToPlayerTurn = 2 // The o player's turn
} TTPlayerTurn;
@interface GameState : NSObject <NSCoding>
{
TTPlayerTurn playersTurn;
NSMutableArray* boardState;
}
@property TTPlayerTurn playersTurn;
@property (strong, nonatomic) NSMutableArray* boardState;
@end
GameState.m
//
// GameState.m
// TicTac
//
// Created by Alessi Patrick on 8/26/11.
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//
#import "GameState.h"
@implementation GameState
@synthesize playersTurn,boardState;
-(id) init
{
self = [super init];
if (self) {
// Alloc and init the board state
boardState = [[NSMutableArray alloc] initWithCapacity:9];
playersTurn=TTxPlayerTurn;
}
return self;
}
#pragma mark NSCoding methods
- (void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject: boardState forKey:@"BoardState"];
[aCoder encodeInt:playersTurn forKey:@"PlayersTurn"];
}
- (id)initWithCoder:(NSCoder *)aDecoder
{
boardState = [aDecoder decodeObjectForKey:@"BoardState"];
playersTurn = [aDecoder decodeIntForKey:@"PlayersTurn"];
return self;
}
@end
Last edited by michel14343; September 1st, 2012 at 10:53 PM..
|