我需要为我的问卷调查应用开发一个简单的login
系统。
我有两个Entity
- 一个用于保存名为NGLS
的问卷调查数据,用于存储客户详细信息,调查答案等,另一个用于保存用户的Admin
。用户可以输入保存到username
实体的Admin
。然后,他们可以根据需要多次浏览调查问卷,每次完成的调查都会在每次调查后保存到NGLS
实体,如下所示:
// Save managedObject
NSError *error;
[[self.managedObjectNGLS managedObjectContext] save:&error];
NSLog(@"%@", self.managedObjectNGLS);
NSLog(@"Data saved");
有export
按钮使用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,
...,
我需要做的是检索username
实体中最后存储的Admin
,并在每次完成调查后将其保存到username
实体中的NGLS
键。这基本上允许用户打开应用程序并且"登录"一次,多次完成调查问卷,.csv中的每一行都有username
- 无需他们在每次完成的调查时输入username
。
我尝试使用此代码获取lastObject
实体中的Admin
:
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>)
任何人都可以帮助我实现这一目标吗?任何帮助是极大的赞赏。如果你能想到一个更简单的方式来登录&#34;,我很乐意接受建议。感谢。
答案 0 :(得分:1)
试试这个:
Admin *model = [fetchedObjects lastObject]; NSLog(@"Last username is %@", model.username);