我不确定我是否采取了正确的方法,但我想从不同的视图控制器访问我的购物车类模型。我的第一种方法是在每个 viewController 中初始化一个 Cart * 对象,但我想我最终得到了多个购物车对象,而我想要的只是一个可以全局访问的对象。经过搜索,我想出了一种看起来更好的不同方法,但还没有运气。
我有一个按钮,应该将交易添加到购物车。但是当我尝试添加它时,该方法没有被调用。这是我设置它的方式。
在我的购物车类中,我有一个 NSMutableArray 来保存我的交易。
在我的 viewController 中,我设置了 Cart *cart 类型的属性并像这样初始化
@property (strong, nonatomic) Cart *cart;
...
-(id)initWithModel:(Cart *)cart {
self = [super init];
if(self){
self.cart = cart;
}
return self;
}
然后我的按钮方法是这样的
-(IBAction)addDealToCart {
NSLog(@"The Cart has %i items", [self.cart qtyOfItemsInCart]);
NSLog(@"Added the Deal to the Cart");
[self.cart addDealsToCart:self.deal];
NSLog(@"The Cart now has %i items", [self.cart qtyOfItemsInCart]);
self.deal.qtyInCart = self.deal.qtyInCart + 1;
NSLog(@"the deal has %i items in the Cart", self.deal.qtyInCart);
}
在这一行中 addDealsToCart:deal 永远不会被调用。
这是我的购物车类中的 addDealsToCart:deal 方法
-(void)addDealsToCart:(Deals *)deal {
[self.cartContents addObject:deal];
NSLog(@"the deal was added to the cart %@",deal);
}
任何帮助都会很棒。谢谢