При добавлении объектов в NSArray с использованием «initWithObjects» кто-нибудь может подтвердить, что элементы сохранены. Я уверен, что они есть, но не могут найти его где-либо в отношении initWithObjects?NSArray initWithObjects: сохранить объекты?
// CREATE DRINKS
Coffee *drink1 = [[Coffee alloc] initWithName:@"Flat White"];
Coffee *drink2 = [[Coffee alloc] initWithName:@"Cappucino"];
Coffee *drink3 = [[Coffee alloc] initWithName:@"Latte"];
Coffee *drink4 = [[Coffee alloc] initWithName:@"Mocha"];
Coffee *drink5 = [[Coffee alloc] initWithName:@"Hot Chocolate"];
// SET ARRAY
NSArray *tempArray = [[NSArray alloc] initWithObjects:drink_1, drink_2, drink_3, drink_4, drink_5, nil];
[self setCoffeeList:tempArray];
// CLEAN UP
[drink_1 release];
[drink_2 release];
[drink_3 release];
[drink_4 release];
[drink_5 release];
[tempArray release];
[super viewDidLoad];
веселит Гэри
Мне кажется, получить это описание из документации Xcode, документы для initWithObjects: count: (NSSet) упоминать сохранить, но не NSArray. Наверное, Чак указывает на свою стандартную практику и не упоминается везде. Большое спасибо ... – fuzzygoat
@fuzzygoat: Документация не должна указывать ее снова для каждого метода. Общее правило управления памятью довольно простое и короткое; любой аргумент объекта, который должен удерживаться после завершения выхода метода, должен быть сохранен, если только он не является делегатом. Документация Apple обычно документирует лишь некоторые исключения из этого правила (наблюдатели NSNotificationCenter и делегаты CALayer). – PeyloW
Спасибо, очень ценим. – fuzzygoat