Guest User

Untitled

a guest
Nov 19th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.53 KB | None | 0 0
  1. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
  2. {
  3. if ([segue.identifier isEqualToString:@"AddItem"]) {
  4.  
  5. UINavigationController *navigationController = segue.destinationViewController;
  6. DetailsItemViewController *detailsItemViewController = (DetailsItemViewController *) navigationController.topViewController;
  7. detailsItemViewController.delegate = self;
  8. detailsItemViewController.productToAdd = sender; //Mando il prodotto che ha provocato la segue (fatto manulamente sopra in didSelectRowAtIndexPath).
  9. detailsItemViewController.index = [prodotti.productsArray indexOfObject:sender];
  10. detailsItemViewController.managedObjectContext = self.managedObjectContext; //Gli passo anche l'oggetto per registrare i prodotti aggiunti in core data.
  11. NSLog(@"::::::::::::INDICE DELL'OGGETTO: %d", [prodotti.productsArray indexOfObject:sender]);
  12.  
  13. //delegato, vado ad aggiungere i metodi delegati
  14.  
  15. }
  16. }
  17.  
  18. - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
  19. {
  20. if ([segue.identifier isEqualToString:@"EditItem"]) {
  21.  
  22. UINavigationController *navigationController = segue.destinationViewController;
  23. DetailsItemViewController *detailsItemViewController = (DetailsItemViewController *) navigationController.topViewController;
  24. detailsItemViewController.productToEdit = sender; //Mando il prodotto che ha provocato la segue (fatto manulamente sopra in didSelectRowAtIndexPath.
  25. detailsItemViewController.managedObjectContext = self.managedObjectContext; //Gli passo anche l'oggetto per registrare i prodotti aggiunti in core data.
  26.  
  27. //Mi metto in ascolto di una notifica tramite il Notification Center.
  28. [[NSNotificationCenter defaultCenter] addObserver:self
  29. selector:@selector(objectEditedFromDetailsViewController:)
  30. name:@"ObjectEdited"
  31. object:nil];
  32.  
  33. }
  34. }
  35.  
  36. #import "CartViewController.h"
  37. #import "Product.h"
  38. #import "CartCell.h"
  39. #import "CDProduct.h"
  40. #import "DetailsItemViewController.h"
  41. #import "UIImage+Resize.h"
  42.  
  43.  
  44. @implementation CartViewController {
  45.  
  46. UINavigationController *navigationController = segue.destinationViewController; // <---- WORKS
  47. DetailsItemViewController *detailsItemViewController = (DetailsItemViewController *) navigationController.topViewController; // <---- WORKS
  48. detailsItemViewController.productToEdit = sender; // <---- WORKS
  49.  
  50. #import <UIKit/UIKit.h>
  51. #import "Product.h"
  52. #import "ProductDetails.h"
  53. #import "CDProduct.h"
  54.  
  55.  
  56. //Delegato per lo screen successivo di aggiunta roba nel carrello.
  57. @class DetailsItemViewController;
  58. @class CatalogueItem;
  59.  
  60. @protocol DetailsItemViewControllerDelegate <NSObject>
  61.  
  62. - (void)detailsViewControllerDidCancel:(DetailsItemViewController *)controller;
  63. - (void)detailsViewControllerDidDone:(DetailsItemViewController *)controller didFinishAddingItem:(CatalogueItem *)item;
  64.  
  65. @end
  66.  
  67.  
  68. //@class Product;
  69. //@class ProductDetails;
  70.  
  71. @interface DetailsItemViewController : UIViewController <NSURLConnectionDelegate>
  72.  
  73. @property (nonatomic, weak) id <DetailsItemViewControllerDelegate> delegate;
  74.  
  75. @property (nonatomic, strong) Product *productToAdd; //Li differenzio così capisco quello che devo fare. NB: per chi legge questo codice:productToAdd non indica un oggetto da aggiungere ma un oggetto a cui si può modificare la quantità per aggiungerlo al carrello.
  76. @property (nonatomic, strong) CDProduct *productToEdit;
  77.  
  78. @property (nonatomic, strong) ProductDetails *productToShow; //Qui ci metto il prodotto che ricavo da loadProducts.
  79.  
  80. @property (strong, nonatomic) IBOutlet UIImageView *graphicImage;
  81. @property (strong, nonatomic) IBOutlet UIImageView *overviewImage;
  82. @property (strong, nonatomic) IBOutlet UIStepper *stepper;
  83. @property (strong, nonatomic) IBOutlet UILabel *stepperValueLabel;
  84. @property (strong, nonatomic) IBOutlet UILabel *productNameLabel;
  85. @property (strong, nonatomic) IBOutlet UILabel *priceLabel; //Il prezzo poi lo prendo facendo il parsing di un altra pagina.
  86. @property (strong, nonatomic) IBOutlet UILabel *totalPrice;
  87.  
  88. @property (nonatomic, assign) int index; //In questa property ci metto l'indice dell'oggetto passato (productToAdd) in modo sapere che articolo dell'XML parsare.
  89.  
  90. @property (nonatomic, strong) NSMutableData *receivedData;
  91.  
  92. @property (nonatomic, strong) NSManagedObjectContext *managedObjectContext; //Per registrare i prodotti in core data.
  93.  
  94.  
  95. - (IBAction)cancel;
  96. - (IBAction)done;
  97. - (IBAction)changeValue:(UIStepper *)sender;
  98.  
  99. @end
Add Comment
Please, Sign In to add comment