.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
ましたproperty
が、動作は同じです
重要なことの 1 つ - シミュレーターでは問題なく動作します。違いは何ですか?ARC の動作は異なりますか?