2011-10-30 80 views
1

我想添加&在我的應用程序中刪除新條目。當我添加或刪除它時,也應該對sqlite數據庫執行相同的操作。但是如何?編輯在IOS應用程序中管理的預填充sqlite數據庫核心數據

我想管理的實體稱爲「逃亡」。向下下面是我的第一視圖Controller.m或者(其中包含的tableview和nsmutable數組*項)代碼:

- (void)viewWillAppear:(BOOL)animated 
{ 
[super viewWillAppear:animated]; 

iBountyHunterAppDelegate *appDelegate = (iBountyHunterAppDelegate*)[[UIApplication sharedApplication] delegate]; 
NSManagedObjectContext *managedObjectContext = appDelegate.managedObjectContext; 
NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Fugitive" inManagedObjectContext:managedObjectContext]; 
[request setEntity:entity]; 

NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]; 
[request setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]]; 

NSError *error; 
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy]; 
if (mutableFetchResults == nil) { 
    // Handle the error; 
} 

self.items = mutableFetchResults; 
[mutableFetchResults release]; 
[request release]; 
[self.tableView reloadData]; 
} 

即使最輕微的尖端,將不勝感激。謝謝!

回答

0

我想也許你在這裏有錯誤的方法。 沒有看到太多的其他代碼,我不能說太多,但以下是CoreData應該如何工作:

您更新CoreData FIRST的任何更改,然後CoreData將通知委託人/觀察員數據是重新加載,這就是更新對象緩存的位置,並通知表視圖進行更新。

因此,不要自己更新數據數組,您只需從CoreData緩存它。

+0

你介意我給你一個與該項目的鏈接以幫助我一點嗎?不管怎麼說,還是要謝謝你。 –

+0

這可能是不必要的,爲什麼不參考Xcode庫中的Apple優秀位置示例,這非常簡單。 –

相關問題