OSX-NSTableview reloadData方法不能正确加载sqlite中的数据

时间:2015-12-18 09:04:14

标签: macos sqlite tableview nstableview

我是Objective-c编程的新手。 我正在做一个应用程序来管理sqlite数据库中的数据。它用于检查学生的出勤率。

由于我实现了更改学生注册时间的更新按钮,我使用reloadData方法刷新了tableview。 但是,它没有正常工作。它确实改变了观点,但没有改变正确的细胞。

例如,我试图改变学生A的注册时间,方法改变学生B的注册时间。

我调试它,数据库已正确更新,所以我认为这是方法错误。 谁能给我一个关于这个问题的暗示?任何建议将不胜感激:)

    if ([[self.StartOrEndMatrix.selectedCell title] isEqualToString:@"上课"]) {
        changedColumn = 3;
    }else if([[self.StartOrEndMatrix.selectedCell title] isEqualToString:@"下课"]){
        changedColumn = 4;
    }

    if ([[self.NameOrNumberMatrix.selectedCell title] isEqualToString:@"按姓名"]) {
        Index = 1;
    }else if ([[self.NameOrNumberMatrix.selectedCell title] isEqualToString:@"按学号"]){
        Index = 0;
    }

    NSString* whereString = [[NSString alloc] initWithString:[self.RegistraitionTextField stringValue]];
    NSString* data = [self presentTime];

    [self updateStudentInSqlite:_database table:self.table atChangedColumn:changedColumn withOriginValue:whereString atIndex:Index andNewString:data];

    [self updateColumnArrayNamed:self.attributeNameArray[changedColumn] atIndex:changedColumn withValue:data];

    [self fullDataToStudentInTable];
    [self.InfoTable reloadData];

0 个答案:

没有答案