Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
There is one more change we need to make to our properties – specifically, the two properties that point to instances of NSString.
In general, when you have a property that points to an instance of a class that has a mutable subclass (like NSString or NSArray), it is safer to make a copy of the object to point to rather than pointing to an existing object that could have other owners.
For instance, imagine if a BNRItem was initialized so that its itemName pointed to an instance of NSMutableString.
NSMutableString *mutableString = [[NSMutableString alloc] init];
BNRItem *item = [[BNRItem alloc] initWithItemName:mutableString
valueInDollars:5
serialNumber:@"4F2W7"]];