ディーラーにあるCarオブジェクトをリリースしたいと思います。私はそれを行う正しい方法が何であるか知りたいです。NSMutableArray Inventoryは、特定のディーラーの車を保管します。そこで、削除機能をユーザーに提示したいので、ユーザーはVin番号を使用して車を選択して削除できます。しかし、私が車を見つけて、機能しないリファレンスをリリースしようとすると。配列からオブジェクトを削除してから、参照を解放する必要がありますか?私はObjectiveCにかなり慣れておらず、初期の学習段階にあります。ありがとうございました。
#import "Dealer.h"
#import "Address.h"
#import "PhoneNumber.h"
@implementation Dealer
static NSInteger dealerIdAllocater = 0;
-(id) init{
self = [super init];
self.dealerId = ++dealerIdAllocater;
self.addressList = [[NSMutableArray alloc] init];
self.inventory = [[NSMutableArray alloc] init];
return self;
}
@synthesize dealerId, name, addressList, inventory;
-(void)addCarInInventory:(Car*)car{
[self.inventory addObject: car];
}
-(void)displayAddresses{
for(Address *address in self.addressList){
NSLog(@"Street Address: %@", address.streetAddress);
NSLog(@"City: %@", address.city);
NSLog(@"State: %@", address.state);
NSLog(@"Country: %@", address.country);
for(int i=0; i<[address.phoneNumber count]; i++){
PhoneNumber *phoneNumber = [address.phoneNumber objectAtIndex:i];
NSLog(@"Phone Number %i, %@", i, phoneNumber.phoneNumber);
}
NSLog(@"--------------");
}
}
-(void)displayInventory{
for(Car *car in self.inventory){
[car displayInformation];
}
NSLog(@"--------------");
}
-(Car *)findCarById:(NSString *)vinNumber{
for(Car *car in self.inventory){
if ([vinNumber isEqualToString:car.vinNumber]) {
return car;
}
}
return nil;
}
@end