我与编辑挣扎/核心数据保存和需要在这一些帮助。我正在使用NSFetchedResultsController,并且在Core Data中有一个名为Golfer的实体,具有attributes-first_name,last_name,email_id和其他实体。所以,我知道如何从数据库中添加和删除高尔夫球手。核心数据编辑/保存属性在实体
我的工作称为ViewManager一个视图控制器(我的所有类还挺基本视图),并有2-3个自定义UIViews里面。每当我需要它们时,我都会进行动画处理。
我向桌面视图中添加一个高尔夫球手,然后在didSelectRow tableview方法中,我在同一个ViewManager控制器中呈现我的编辑视图,并尝试使用以下代码更新编辑视图中的文本框,但它随机更新索引桌面视图,而不是为我工作。任何帮助将不胜感激。
- (IBAction)saveEditGolfersView:(id)sender
{
AppDelegate * applicationDelegate = (AppDelegate *) [[UIApplication sharedApplication] delegate];
NSManagedObjectContext * context = [applicationDelegate managedObjectContext];
// Retrieve the entity from the local store -- much like a table in a database
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Golfer" inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entity];
// Set the sorting -- mandatory, even if you're fetching a single record/object
NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"first_name" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1,nil];
[request setSortDescriptors:sortDescriptors];
[sortDescriptors release]; sortDescriptors = nil;
[sortDescriptor1 release]; sortDescriptor1 = nil;
NSError * error;
NSArray * objects = [context executeFetchRequest:request error:&error];
for(int i = 0; i<[objects count]; i++)
{
Golfer * golfguy = [objects objectAtIndex:i];
golfguy.first_name = mEditFirstName.text;
golfguy.middle_name = mEditMiddleName.text;
golfguy.last_name = mEditLastName.text;
golfguy.email_id = mEditEmailField.text;
golfguy.contactNumber = mEditContactNum.text;
golfguy.picture = mEditPictureView.image;
NSLog(@"name-%@", golfguy.first_name);
}
[request release]; request = nil;
error = nil;
[context save:&error];
[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionCurveEaseOut
animations:^ {
mEditGolfersView.frame = CGRectMake(-480, mEditGolfersView.frame.origin.y, mEditGolfersView.frame.size.width, mEditGolfersView.frame.size.height);
}
completion:^(BOOL finished) {
mEditGolfersView.hidden = YES;
}];
}
感谢肖恩回去我。这种IBAction方法是保存信息(当你更新高尔夫球员信息,如他们的名字,电子邮件ID,图片等)我的代码有什么问题?我想我正在循环他们正确执行获取请求? – 2012-04-20 02:11:42
你是不是想改变编辑控制器中的某个高尔夫球手?你想改变多少球员? – 2012-04-20 03:23:00
我正在尝试通过点击表视图做选择行方法来编辑特定的高尔夫球手。我在代码中循环不正确,但是如何获得每个高尔夫球手的索引,然后我尝试编辑这些索引?请在这里帮助我! – 2012-04-20 07:28:13