我與編輯掙扎/核心數據保存和需要在這一些幫助。我正在使用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