我需要开发一个简单的 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>)
谁能帮我实现这个目标?任何帮助是极大的赞赏。如果您能想到更简单的“登录”方式,我很乐意采纳建议。谢谢。
最佳答案
试试这个:
Admin *model = [fetchedObjects lastObject]; NSLog(@"Last username is %@", model.username);
关于ios - 检索核心数据实体中的最后一行/对象作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25890926/