0
我完全不熟悉核心數據編程!我試着寫一個應用程序,總之,這樣的:檢索核心數據庫中最後保存的屬性
用戶有很多在視圖中的數據,這些數據的結果OS大量的計算之前完成。在這個特定的「全部結果」視圖中,可以選擇保存數據以供將來參考,爲此,用戶需要輸入標識符(在文本框中)並按保存按鈕。
爲了檢索所保存的數據,則用戶重新輸入標識符和按加載按鈕。
幾乎一切都工作得非常好:數據被保存和加載......但問題是,進入標識符和按LOAD按鈕時,應用程序加載第一個保存的數據,而不是最後一個!我希望應用程序在按下加載按鈕時加載上次保存的數據...我該怎麼做?
我很抱歉把這個新手的問題來打擾你,但是這是第一次我試圖處理核心數據,我真的想知道如何做到這一點!我非常感謝所有能夠幫助我的人!
爲「LOAD」按鈕的代碼是這樣的:
- (IBAction)loadData:(id)sender
{
[_identificador resignFirstResponder];
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"English"
inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDesc];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(identificador = %@)", _identificador.text];
[request setPredicate:pred];
NSManagedObject *matches = nil;
NSError *error;
NSArray *objects = [context executeFetchRequest:request
error:&error];
if ([objects count] == 0)
{
_status.text = @"No matches";
}
else
{
matches = objects[0];
_dataAtualEng.text = [matches valueForKey:@"dataRCQ"];
_rcqEng.text = [matches valueForKey:@"rcq"];
_status.text = [NSString stringWithFormat: @"%lu matches found", (unsigned long)[objects count]];
}
}
非常感謝你Vijayts !!!!我認爲你是對的......但在我的應用程序中,我無法強制用戶輸入每次保存的唯一標識符,我的應用程序是關於身體評估,計算BMI,身體脂肪等......而這個「全部結果「視圖是評估的所有結果都顯示給用戶,然後他決定保存或不保存...您知道,標識符是被評估人員的姓名。但是如果用戶輸入相同的標識符,有沒有辦法覆蓋數據,而不是保存具有相同標識符的另一個「實例」? – Vladimir
對不起弗拉基米爾。我不確定任何這樣的方法。此外,如果答案幫助你的問題。請標記爲已接受:) –