我如何才能延迟初始化按钮的NSMutableArray?我做这样的事情:

-(NSMutableArray *)roasteryButtons
 {
     if(!roasteryButtons)
     {
     roasteryButtons = [ NSMutableArray new];
     //other code
     }
return roasteryButtons;
 }

而且不知道该怎么称呼这个懒惰的初始化器?即我需要初始化数组,以便我可以为数组中的每个按钮设置框架

最佳答案

你所做的是正确的。 u不是在类的init方法中分配数组,而是仅在需要时分配数组。因此,它达到了延迟分配的目的。

在该类中,只要要数组,就调用

NSMutableArray *arr = [self roasteryButtons];

还要在头文件中将方法声明为-(NSMutableArray*)roasteryButtons;

如果要在其他类中引用该数组,则调用类似于
[classObj roasteryButtons];

我已经将其显示为实例方法。如果您愿意,也可以将其声明为类方法。

并以-(void)dealloc方法释放它。

10-08 06:10