NSTableView在行中添加增加的数字

时间:2012-07-05 09:56:30

标签: objective-c cocoa nstableview

我正在尝试使用添加两列x和y的行来创建NSTable视图应用。我希望x列是常量字符串,但是我希望每次按下按钮添加时,我希望将初始数字增加1。

这是我的TableController实现代码

@implementation TableViewController

-(id)init {

self = [super init];
if (self) {
    list = [[NSMutableArray alloc]init];

}

return self;
}
-(NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
return [list count];
}

-(id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
Number *p = [list objectAtIndex:row];
NSString *identifier = [tableColumn identifier];
return [p valueForKey:identifier];
}

-(IBAction)add:(id)sender{

    [list addObject:[[Number alloc] init]];

    [tableView reloadData];

}

-(void) dealloc {
[super dealloc];
}
@end

和数字实施文件:

@implementation Number

@synthesize x;
@synthesize y;


-(id) init {
self=[super init];
if (self) {
    int j;
    x = 5;
    y=2+j;
    j++; 
}

return self;
}

@end

号码.h文件:

#import <Foundation/Foundation.h>
int j;
@interface Number : NSObject {
@private 
int x,y;
}

@property int x,y,j;

@end

但是当我按下添加按钮时,y列中的数字不会增加1。每次点击添加按钮时似乎都会重置。任何帮助我做错了什么?非常感谢。

1 个答案:

答案 0 :(得分:0)

将j声明为.h文件。

.f file:
    int j;

int .m文件:

    -(id) init {
self=[super init];
if (self) {
    x = 5;
    y=2+j;
    j++; 
}

return self;
}