Today's Menu  Portugal
journal and plan nutrition
Instance Methods | Properties | List of all members
Y4UsdaParamEntryViewController Class Reference

#import <Y4UsdaParamEntryViewController.h>

Inheritance diagram for Y4UsdaParamEntryViewController:
Inheritance graph
[legend]
Collaboration diagram for Y4UsdaParamEntryViewController:
Collaboration graph
[legend]

Instance Methods

(id) - initWithMenuItem:
 
(void) - viewDidLoad [implementation]
 
(void) - viewWillAppear: [implementation]
 
(void) - viewWillDisappear: [implementation]
 
(void) - didReceiveMemoryWarning [implementation]
 

Properties

IBOutlet UITextField * sodiumParamTextField [implementation]
 
IBOutlet UITextField * totalFatParamTextField [implementation]
 
MenuItemfocusMenuItem [implementation]
 

Detailed Description

Definition at line 12 of file Y4UsdaParamEntryViewController.h.

Method Documentation

◆ didReceiveMemoryWarning()

- (void) didReceiveMemoryWarning
implementation

Definition at line 106 of file Y4UsdaParamEntryViewController.m.

106  {
107  [super didReceiveMemoryWarning];
108  // Dispose of any resources that can be recreated.
109 }

◆ initWithMenuItem:()

- (id) initWithMenuItem: (MenuItem *)  menuItem

Definition at line 20 of file Y4UsdaParamEntryViewController.m.

20  :(MenuItem *)menuItem
21 {
22  self = [super init];
23  _focusMenuItem = menuItem;
24  if (_focusMenuItem) {
25  NSLog(@"UsdaParmeterEntry.initWithMenuItem: usda# %@", [self.focusMenuItem usdaNumbers]);
26 
27  } else {
28  NSLog(@"UsdaParmeterEntry.initWithMenuItem: no focus menu item");
29  }
30  return self;
31 }
MenuItem * menuItem

◆ viewDidLoad()

- (void) viewDidLoad
implementation

Definition at line 33 of file Y4UsdaParamEntryViewController.m.

33  {
34  [super viewDidLoad];
35  // Do any additional setup after loading the view from its nib.
36 
37 
38 }

◆ viewWillAppear:()

- (void) viewWillAppear: (BOOL)  animated
implementation

Definition at line 39 of file Y4UsdaParamEntryViewController.m.

39  :(BOOL)animated
40 {
41  NSLog(@"ParameterEntryController.viewWillAppear: usda#: %@", _focusMenuItem.usdaNumbers);
42 
43  // get the dictionary, to get sodium and total-fat
44  NSDictionary *currentParameters = [[[Z5DataController sharedInstance] localDataController] jsonForUsdaNumbersInMenuItem:_focusMenuItem];
45  NSString *sodiumStr = [currentParameters objectForKey:@"sodium"];
46  if (sodiumStr) {
47  NSString *sodiumNumbers = [sodiumStr stringByTrimmingCharactersInSet:[NSCharacterSet letterCharacterSet]];
48  [self.sodiumParamTextField setText:sodiumNumbers];
49  }
50  NSString *totalFatStr = [currentParameters objectForKey:@"total-fat"];
51  if (totalFatStr) {
52  NSString *totalFatNumbers = [totalFatStr stringByTrimmingCharactersInSet:[NSCharacterSet letterCharacterSet]];
53  [self.totalFatParamTextField setText:totalFatNumbers];
54  }
55 }
instancetype sharedInstance()
Singleton interface to both core and remote data sources.

◆ viewWillDisappear:()

- (void) viewWillDisappear: (BOOL)  animated
implementation

Definition at line 56 of file Y4UsdaParamEntryViewController.m.

56  :(BOOL)animated
57 {
58  [super viewWillDisappear:animated];
59 
60  // NSLog(@"ParameterEntryController.viewWillDisappear: beginning usda#: %@", _focusMenuItem.usdaNumbers);
61  // NSDictionary *jsonDictionary = [[[Z5DataController sharedInstance] localDataController] jsonForUsdaNumbersInMenuItem:[self focusMenuItem]];
62  // NSLog(@"ParameterEntryController.viewWillDisappear: after getting dictionary: usda#: %@", _focusMenuItem.usdaNumbers);
63  // NSLog(@"ParameterEntryController.viewWillDisappear: current usda dictionary: %@", json);
64 
65  /*
66  * Entry data
67  */
68  NSString *sodiumLevel = [self.sodiumParamTextField text];
69  NSString *sodiumKey = [[NSString alloc] initWithFormat:@"%@",@"sodium"];
70  NSString *sodiumValue = [[NSString alloc] initWithFormat:@"%@",sodiumLevel];
71  NSString *totalFatLevel = [self.totalFatParamTextField text];
72  NSString *totalFatKey = [[NSString alloc] initWithFormat:@"%@",@"total-fat"];
73  NSString *totalFatValue = [[NSString alloc] initWithFormat:@"%@",totalFatLevel];
74 
75  NSDictionary *parameterDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:sodiumValue, sodiumKey, totalFatValue, totalFatKey, nil];
76  if([NSJSONSerialization isValidJSONObject:parameterDictionary]) {
77 
78  // serialize json to check correctness
79  NSError *err_writing;
80  NSData *usdaData = [NSJSONSerialization dataWithJSONObject:parameterDictionary options:NSJSONWritingPrettyPrinted error:&err_writing];
81  if (err_writing) {
82  NSLog(@"ParameterEntryController.viewWillDisappear: err_writing: %@", err_writing);
83  } else {
84  // NSString* out = [[NSString alloc] initWithData:usdaData encoding:NSUTF8StringEncoding];
85  // self.focusMenuItem.usdaNumbers = out;
86  NSDictionary *updatedJson = [[[Z5DataController sharedInstance] localDataController] mergeJsonForUsdaNumbers:parameterDictionary inMenuItem:[self focusMenuItem] inContext:self.view];
87  NSLog(@"ParameterEntryController.viewWillDisappear: updatedJson: %@ \nusdaData: %@", updatedJson, usdaData);
88 // self.focusMenuItem.usdaNumbers = [updatedJson descriptionInStringsFileFormat];
89  NSError *error;
90  NSData *jsonData = [NSJSONSerialization dataWithJSONObject:updatedJson
91  options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string
92  error:&error];
93 
94  if (! jsonData) {
95  NSLog(@"Got an error: %@", error);
96  } else {
97  self.focusMenuItem.usdaNumbers = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
98  }
99  NSLog(@"ParameterEntryController.viewWillDisappear: updated usdaNumbers: %@", self.focusMenuItem.usdaNumbers);
100  }
101 
102  } else {
103  NSLog(@"ParameterEntryController.viewWillDisappear: parameterDictionary is invalid JSON");
104  }
105 }
MenuItem * focusMenuItem
instancetype sharedInstance()
Singleton interface to both core and remote data sources.

Property Documentation

◆ focusMenuItem

- (MenuItem*) focusMenuItem
readwritenonatomicstrongimplementation

Definition at line 15 of file Y4UsdaParamEntryViewController.m.

◆ sodiumParamTextField

- (IBOutlet UITextField*) sodiumParamTextField
readwritenonatomicstrongimplementation

Definition at line 13 of file Y4UsdaParamEntryViewController.m.

◆ totalFatParamTextField

- (IBOutlet UITextField*) totalFatParamTextField
readwritenonatomicstrongimplementation

Definition at line 14 of file Y4UsdaParamEntryViewController.m.


The documentation for this class was generated from the following files: