在Core Data实体中检索最后一行/对象作为string

我需要为我的调查问卷应用程序开发一个简单的login系统。

我有两个Entity – 一个用于存储调查问卷数据,称为NGLS ,存储客户详细信息,调查答案等,另一个称为Admin用户。 用户可以input他们的username保存到Admin实体。 然后,他们可以随意浏览调查问卷,每次完成的调查都会在每次调查后保存到NGLS实体中,如下所示:

  // Save managedObject NSError *error; [[self.managedObjectNGLS managedObjectContext] save:&error]; NSLog(@"%@", self.managedObjectNGLS); NSLog(@"Data saved"); 

有一个exportbutton,它使用NSFetchRequest来检索存储在NGLS实体中的所有数据,并使用CHCSV Parser将该数据写入一个.csv,然后将其附加到电子邮件中。

 NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"NGLS" inManagedObjectContext:context]; [fetchRequest setEntity:entity]; NSError *error; NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error]; // CHCSVParser NSOutputStream *stream = [[NSOutputStream alloc]initToMemory]; CHCSVWriter *writer = [[CHCSVWriter alloc]initWithOutputStream:stream encoding:NSUTF8StringEncoding delimiter:',']; // Fetch objects to write to .csv for (Model *results in fetchedObjects) { [writer writeLineOfFields:@[results.username, results.dateStamp, ..., 

我需要做的是检索Admin实体中最后存储的username ,并在每次完成调查时将其保存到我的NGLS实体中的username密钥。 这基本上允许用户打开应用程序并“login”一次,多次完成调查问卷,并且.csv中的每一行都将具有该username – 无需在每次完成的调查中username

我试图通过使用下面的代码来获取Admin实体中的lastObject

 NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"Admin" inManagedObjectContext:context]; [fetchRequest setEntity:entity]; NSError *error = nil; NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error]; NSLog(@"Last username is %@", [fetchedObjects lastObject]); 

但是输出结果是:

 Last username is <NSManagedObject: 0xb7a20d0> (entity: Admin; id: 0xb7a1410 <x-coredata://1D073AF9-3FFB-476A-A6CC-BC15398F4B86/Admin/p2> ; data: <fault>) 

任何人都可以帮我实现这个目标 任何帮助是极大的赞赏。 如果你能想到一个更简单的方式来“login”,我会很乐意提出build议。 谢谢。

尝试这个:

 Admin *model = [fetchedObjects lastObject]; NSLog(@"Last username is %@", model.username);