我在我的应用程序中有一个tableview,我需要更新它,但我不能让它工作。 首先,我更清楚地发布了arraycontroller,tableview和将数据插入到我的tableview中的代码。
首先是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]。但它没有改变任何东西。没有数据被修改。请帮助我,我迷路了
答案 0 :(得分:0)
我忘记了目标c接受以nil为值的变量。我后来在我的代码中输入了一个拼写错误,这给了我的NSString一个零值,这就是为什么它没有显示任何东西。无论如何,谢谢大家的帮助!