我无法更新我的 NSTableView
I can't get my NSTableView updated
我的应用程序中有一个表格视图,我需要更新它,但我无法让它工作。
首先,我 post arraycontroller、tableview 和将数据插入我的 tableview 的代码更清楚。
首先是数组控制器:
我的表格视图:
这就是我配置表视图和数组控制器的方式。为了将数据插入到我的表视图中,我使用了 keydown 方法。因此,当用户按下字母 "i" 时,将插入一行数据。
-(void)keyDown:(NSEvent *)event
{
static int i = 1;
NSString * str = [NSString stringWithFormat:@"%i", i];
NSMutableString *str2 = [NSMutableString string];
[str2 appendString:@"Task "];
[str2 appendString:str];
if([event keyCode] == 0x22 && projectState == YES)
{
dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], @"check",str,@"numero",str2,@"designation",@"1",@"durpr",datedebutProjet,@"debpr",datefin,@"finpr",datedebutProjet,@"debpr1",datefin,@"finpr1",@"0",@"mgt", nil];
[_arrayController addObject:dict];
[check setTag:i];
nbrTask = i;
i++;}
}
我对此没有问题,但我无法更改 tableView 中的数据。我用它来获取数据:
int Row = [tableView selectedRow];
NSString * designation = [[[_arrayController arrangedObjects]objectAtIndex:Row]valueForKey:@"designation"];
并尝试以这种方式替换它:
[[[_arrayController arrangedObjects]objectAtIndex:Row] setValue:finalString forKey:@"designation"];
但是没用。然后我试了一下 [tableView reloadData]。但这并没有改变任何东西。没有数据被修改。请帮助我,我迷路了
我忘了 objective c 接受值为 nil 的变量。后来我在我的代码中打了一个错字,它给了我的 NSString 一个 nil 值,这就是它什么也没显示的原因。总之,谢谢大家的帮助!
我的应用程序中有一个表格视图,我需要更新它,但我无法让它工作。 首先,我 post arraycontroller、tableview 和将数据插入我的 tableview 的代码更清楚。
首先是数组控制器:
我的表格视图:
这就是我配置表视图和数组控制器的方式。为了将数据插入到我的表视图中,我使用了 keydown 方法。因此,当用户按下字母 "i" 时,将插入一行数据。
-(void)keyDown:(NSEvent *)event
{
static int i = 1;
NSString * str = [NSString stringWithFormat:@"%i", i];
NSMutableString *str2 = [NSMutableString string];
[str2 appendString:@"Task "];
[str2 appendString:str];
if([event keyCode] == 0x22 && projectState == YES)
{
dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], @"check",str,@"numero",str2,@"designation",@"1",@"durpr",datedebutProjet,@"debpr",datefin,@"finpr",datedebutProjet,@"debpr1",datefin,@"finpr1",@"0",@"mgt", nil];
[_arrayController addObject:dict];
[check setTag:i];
nbrTask = i;
i++;}
}
我对此没有问题,但我无法更改 tableView 中的数据。我用它来获取数据:
int Row = [tableView selectedRow];
NSString * designation = [[[_arrayController arrangedObjects]objectAtIndex:Row]valueForKey:@"designation"];
并尝试以这种方式替换它:
[[[_arrayController arrangedObjects]objectAtIndex:Row] setValue:finalString forKey:@"designation"];
但是没用。然后我试了一下 [tableView reloadData]。但这并没有改变任何东西。没有数据被修改。请帮助我,我迷路了
我忘了 objective c 接受值为 nil 的变量。后来我在我的代码中打了一个错字,它给了我的 NSString 一个 nil 值,这就是它什么也没显示的原因。总之,谢谢大家的帮助!