Guest User

Untitled

a guest
Feb 20th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. - (void)insertNewObject:(NSString*) strRain;
  2. {
  3. NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
  4. NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
  5. Rainfall *altRainfall = (Rainfall*)[NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
  6.  
  7. altRainfall.gauge = strRain;
  8. altRainfall.primaryGauge = self.detailItem;
  9. altRainfall.dateRecorded = todaysDate;
  10. altRainfall.sortDate = [NSDate date];
  11.  
  12. NSError *error = nil;
  13. if (![context save:&error])
  14. {
  15. NSDictionary *dict = [error userInfo];
  16. NSString *errMsg = [dict valueForKey:@"errMessage"];
  17.  
  18. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Note" message:errMsg delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
  19.  
  20. [alert show];
  21.  
  22. [self.managedObjectContext deleteObject:altRainfall];
  23. }}
  24.  
  25. func save(strRain: String) {
  26.  
  27. let entity = NSEntityDescription.entity(forEntityName: "Rainfall", in: coreDataStack.context)!
  28. let newRainfall = NSManagedObject(entity: entity, insertInto: coreDataStack.context)
  29. newRainfall.setValue(strRain, forKeyPath: "gauge")
  30. newRainfall.setValue(todaysDate, forKeyPath: "dateRecorded")
  31. newRainfall.setValue(sortDateItem, forKeyPath: "sortDate")
  32.  
  33.  
  34. print(strRain)
  35. print(todaysDate)
  36. print(sortDateItem)
  37.  
  38. do {
  39. try coreDataStack.context.save()
  40. } catch let error as NSError {
  41. print("Could not save. (error), (error.userInfo)")
  42. }
  43. }
  44.  
  45. func saveToDataBase(data:[TestData]){
  46. for data1 in data{
  47.  
  48. let request:NSFetchRequest<TestData> = TestData.fetchRequest()
  49. do {
  50. let count = try managedObjectcontext.count(for: request)
  51. if count == 0 {
  52. // save data according to your requirement.
  53. print(data1)
  54. }else{
  55.  
  56. //if anything you want to update then wright here
  57. }
  58.  
  59. }catch{
  60. let error = error as NSError
  61. print("(error)")
  62. }
  63. }
  64. }
  65.  
  66. func retriveSaveData(){
  67.  
  68. let request:NSFetchRequest<TestData> = TestData.fetchRequest()
  69. do {
  70. let data = try managedObjectcontext.fetch(request) as [TestData]
  71.  
  72. if let str = data.first?.name{
  73. // Your retrieve data
  74. print(str)
  75. }
  76. }catch{
  77. let error = error as NSError
  78. print("(error)")
  79. }
  80. }
  81.  
  82. newRainfall.setValue(selectedGauge, forKeyPath: "primaryGauge")
Add Comment
Please, Sign In to add comment