0

我正在尝试通过添加具有两列 x 和 y 的行来制作 NSTable 视图应用程序。我希望 x 列是常量字符串,但 y 列我希望每次按下按钮添加时将初始数字增加 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。每次我点击添加按钮时,它似乎都会被重置。任何帮助我做错了什么?非常感谢。

4

1 回答 1

0

将 j 声明到 .h 文件中。

.f file:
    int j;

int .m 文件:

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

return self;
}
于 2012-07-05T10:04:06.467 回答