Okay so I decided to make a little own project and after it progress in the book again, but I ran into problem as I got class called Character and I want it's name to show in the tableview that I made, I got mutablearray for those characters and I want it to display the name of character in tableview. I know that there might be other bad things in my code also that's why I am making this so I can learn to write apps on my own.. Here is the code
Character.h
character.m
AppController.h
AppController.m
Character.h
Code:
//
// Character.h
// Characters
//
// Created by Samuli Lehtonen on 8.6.2010.
// Copyright 2010 Test. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface Character : NSObject {
NSMutableString * name;
NSNumber * health;
NSNumber * strenght;
}
-(void)setStats:(NSString *)charName;
-(NSString *)name;
@end
character.m
Code:
//
// Character.m
// Characters
//
// Created by Samuli Lehtonen on 8.6.2010.
// Copyright 2010 Test. All rights reserved.
//
#import "Character.h"
@implementation Character
-(id)init
{
[super init];
name = [[NSMutableString alloc] initWithString:@"Character"];
health = [[NSNumber alloc] initWithInt:100];
strenght = [[NSNumber alloc] initWithInt:10];
return self;
}
-(void)dealloc
{
NSLog(@"Dealloccing...");
[name release];
[health release];
[strenght release];
[super dealloc];
}
-(void)setStats:(NSString *)charName
{
[name setString:charName];
}
-(NSString *)name
{
return name;
}
@end
AppController.h
Code:
//
// AppController.h
// Characters
//
// Created by Samuli Lehtonen on 8.6.2010.
// Copyright 2010 Test. All rights reserved.
//
#import <Cocoa/Cocoa.h>
#import "Character.h"
@interface AppController : NSObject {
NSMutableArray *characters;
IBOutlet NSTextField * nameField;
IBOutlet NSTextField * statusText;
}
-(IBAction)addItem:(id)sender;
@end
AppController.m
Code:
//
// AppController.m
// Characters
//
// Created by Samuli Lehtonen on 8.6.2010.
// Copyright 2010 Test. All rights reserved.
//
#import "AppController.h"
@implementation AppController
-(id)init
{
[super init];
characters = [[NSMutableArray alloc] init];
return self;
}
-(void)dealloc
{
[characters release];
[super dealloc];
}
-(IBAction)addItem:(id)sender
{
if ([[nameField stringValue] length] > 0) {
Character * tempChar = [[Character alloc] init];
[tempChar setStats:[nameField stringValue]];
[characters addObject:tempChar];
[tempChar release];
[statusText setStringValue:@"Character added!"];
}
else {
[statusText setStringValue:@"Please insert the name!"];
}
}
-(int)numberOfRowsInTableView:(NSTableView *)tv
{
return [characters count];
}
-(id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
{
NSString *v = [characters objectAtIndex:row];
return v;
}
@end