这是我实现了cellforRowAtIndexPath方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
{
static NSString *cellIdentifier=@"myCell";
CustomTableCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell==nil)
{
cell=[[CustomTableCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
DBObjectClass * info=[StudentInformationArr objectAtIndex:indexPath.row];
cell.studIdLbl.text=[NSString stringWithFormat:@"%d",info.StudIDs];
cell.studNameLbl.text=info.StudentName;
cell.studEmailLbl.text=info.StudentEmail;
cell.StudcontactLbl.text=[NSString stringWithFormat:@"%d",info.StudentContact];
return cell;
}
其中DBObjectClass是NSOBject类模型类
以下是我在TableView中显示数据的方法
-(NSMutableArray*)StudentInformation;
{
NSMutableArray *DBArray=[[NSMutableArray alloc]init];
NSString *query=@"SELECT * FROM StudInfo ORDER BY studid";
NSLog(@"Query is:%s",[query UTF8String]);
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(_database, [query UTF8String], -1, &statement, nil)==SQLITE_OK)
{
while (sqlite3_step(statement)==SQLITE_ROW)
{
int studID=sqlite3_column_int(statement, 0);
char *studName=(char*)sqlite3_column_text(statement, 1);
char *studEmail=(char*)sqlite3_column_text(statement, 2);
int studContact= sqlite3_column_int(statement, 3);
NSString *name=[[NSString alloc]initWithUTF8String:studName];
NSString *email=[[NSString alloc]initWithUTF8String:studEmail];
DBObjectClass *DbObj=[[DBObjectClass alloc]initWithSID:studID SName:name SEmail:email SContact:studContact];
[DBArray addObject:DbObj];
}
sqlite3_finalize(statement);
}
sqlite3_close(_database);
return DBArray;
}
我试图在这里实现删除查询
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
如何使这项工作?任何帮助都将受到重视
答案 0 :(得分:0)
试试这样。
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
NSManagedObject * managedObject = [StudentInformationArr objectAtIndex:indexPath.row];
NSError *error;
[[self getManagedObjectContext] deleteObject: managedObject];
[[self getManagedObjectContext] save:&error];
}
//before reload your tableView you have to fetch the data from your core data again. So that StudentInformationArr will get updated. Use something like
StudentInformationArr =[self fetchStudentInformationArray];
[self.myTableView reloadData];
}