fuz*_*oat 3 iphone cocoa-touch objective-c
使用"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];
Run Code Online (Sandbox Code Playgroud)
欢呼加里
initWithObjects保留数组中的所有项.
initWithObjects:count:
这是该类的指定初始化程序.子类必须覆盖此方法.这应该用count(可能是零)对象初始化数组.保留放置在数组中的每个对象.调用-init(除了保持MacOS-X兼容性之外什么也没做),需要在子类中重新实现,以便让所有其他初始化程序都能正常工作.