我在 .m 代码中有以下代码
@implementation MyGameController
{
NSMutableArray* viewsarray;
}
我正在以这种方式初始化它
- (void)viewDidLoad
{
viewsarray = [[NSMutableArray alloc] init];
for (int i=0; i < TOTAL_ITEMS; i++)
{
ItemController* iv = [[ItemController alloc] initWithNibName:@"ItemPadXib" bundle:nil];
[viewsarray addObject:iv];
}
}
当我在这个函数的末尾检查时 - 数组是完整的并且包含我所有的项目。但是,后来它被释放(我认为)并且viewsarray被设置为nil。
我知道这一点,因为后来我尝试像这样访问它
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
ItemController* iv1 = [viewsarray objectAtIndex:index];
....
}
当我bp
在这个函数中设置 a -viewsarray
是nil
我试图将其声明viewsarray
为 aproperty
但行为是相同的
一件重要的事情 - 在模拟器上它工作得很好。有什么不同吗 ?ARC 的行为是否不同?