iOS Object-Oriented Objective-C Diving Deeper - Classes, Properties and Methods Methods in Practice

In the addMenuItems method why didn't you have to alloc and init the array?

in this method:

   -addMenuItems:(NSMutableArray*)menuItems{

    for (MenuItem *menuItem in menuItems) {
        [self.itemsOrdered addObject:menuItem.itemName];
        self.subtotal += menuItem.itemPrice;
    }
    return self;
}

why didn't we have to alloc and init the arrayname array?

Jey Miranda
Jey Miranda
4,025 Points

When creating that method of addMenuItems, that parameters it takes as input is also declaring a new array called menuItems? because in the for in loop, what i believe it says is " for each MenuItem in menuItems Array, create a variable called *menuItem and send it through the loop" . So my question is, did you previously created an NSMutableArray called menuItems else where, or you created it at the same time you specified the type of input in the new method call -addMenuItems?

1 Answer

Anjali Pasupathy
Anjali Pasupathy
28,883 Points

You don't have to alloc and init menuItems because the parameter for addMenuItems is an NSMutableArray that's already been alloc'd and init'd.