Это
NSMutableArray *dataArray = [[NSMutableArray alloc] init];
dataArray = [NSArray arrayWithObjects:
@"currency1.png",
@"currency2.png",
@"currency3.png",
@"currency4.png",
@"currency5.png",
@"xxxxxx",
@"currency1.png",
@"currency2.png",
@"currency3.png",
@"currency4.png",
@"currency5.png",
@"xxxxxx",
nil];
странно! Вы выделяете изменяемый массив и назначаете указатель, указывающий на этот массив, массиву, который вам не принадлежит. Вероятно, он уже (автоматически) выпущен, когда вы пытаетесь его использовать. Следовательно, int countOfDataArray = [dataArray count];
приведет к тому, что countOfDataArray
будет нулевым. Поэтому cacheStr
никогда не устанавливается. Тем не менее, не должно произойти сбой при выпуске cacheStr
.
Измените его на:
NSMutableArray *dataArray = [[NSMutableArray alloc] initWithObjects: @"currency1.png",
@"currency2.png",
@"currency3.png",
@"currency4.png",
@"currency5.png",
@"xxxxxx",
@"currency1.png",
@"currency2.png",
@"currency3.png",
@"currency4.png",
@"currency5.png",
@"xxxxxx",
nil];
и с тобой все будет в порядке.