如何存储用户input的详细信息,并返回到ios?

如何Store用户input的详细信息,并将Get it Back恢复到ios?

  • 我有以下的TextFields

  • UserNameEmailRe-enter Email idPhoneStateAddressLocalityPincode

  • 我想在Current viewController本地store这个细节,并display Next ViewController ….

  • How many Ways可以StoreFetch细节,有谁知道在哪里可以find更多关于这方面的信息?

你想保持用户信息持久性(1),或者你需要这些数据来表示它,并发送到电子邮件(2)?
1.如果您需要使用Core Data将用户信息保存在持久存储中,则必须使用您的属性(名称,中间名,姓氏,用户名,电子邮件,重新input电子邮件ID,电话,州,地址)创build名为“User”的实体,locality和pincode) – 所有这些字段可以是stringtypes。 比在“编辑器”选项卡的帮助下,您应该为您的实体创buildNSManagedObject子类。 比在你的VC与textFields你需要填写这些数据为用户实例的属性并保存它。 而且比你可以检索你想要的和显示给用户。
2.如果你需要用户信息来显示和发送邮件,你可以使用NSUserDefaults来简化它:

//保存

 [[NSUserDefaults standardUserDefaults] setObject:textFieldName.text forKey:@"name"]; 

//获取数据

 [[NSUserDefaults standardUserDefaults] valueForKey:@"name"]; 

或者,如果需要随时保存这些信息,只需要一个应用程序启动会话,只需通过textFields的text属性值设置ViewControllerWhereYouWantToPresentInfo的公共属性即可。

我build议你创buildvariables并将数据存储在那里。 一旦准备好进入下一个视图控制器,就可以以这种方式将数据传递给下一个视图控制器

 let nextVC = self.storyboard!.instantiateViewControllerWithIdentifier("NextVCStoryBoardId") as! NextVCViewController nextVC.variable1 = variable1 //variable1 is in currentVC nextVC.variable2 = variable2 //variable2 is in currentVC 

等等…

然后你可以用这个代码推到下一个VC

 self.navigationController!.pushViewController(nextVC, animated: true) 

在下一个VC中,你为button发送数据到邮件的动作。

如果用户数据正确存储在核心数据中,则可以使用NSFetchedResultsController(FRC)或简单的NSFetchRequest来检索它。 在这两种情况下,您都会为您的“用户”实体创build一个NSFetchRequest,并为其分配一个NSPredicate。 谓词的定义类似于SQL查询。 NSFetchRequest将检索任何与谓词相匹配的托pipe对象。

您可能会考虑将这些参数作为参数或公共属性传递到第二个viewController,而不是将它们提取并存储在CoreData中。 当数据需要被查询时(比如SQL数据库),CoreData非常适合在磁盘上保存数据。 当UI需要频繁更新以反映持久数据的变化时,这也很有用。 您可以使用NSFetchedResultsContoller来监视对数据模式的更改,并自动通知UI层这些更改。

使用NSFetchRequest的例子,它是最简单的方法来做你所要求的。 它假定你有一个名为“UserDetails”的实体,它有一个名为“user_id”的属性来标识一个特定的用户

 // A pointer to your main thread context, since you will be using this info to // populate data on the UI. I typically use a singleton pattern to access my // managed object context NSManagedObjectContext *context = [DBController sharedInstance].mainManagedObjectContext; // Create the fetch request NSFetchRequest * fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"UserDetails"]; // Assign the predicate fetchRequest.predicate = [NSPredicate predicateWithFormat:@"user_id = %@",<the_users_id>]; // Execute the fetch request on the main thread managed object context NSError *error = nil; NSArray *objects = [context executeFetchRequest:fetchRequest error:&error]; UserDetail *detail = [object firstObject];