В настоящее время я подклассифицирую UICollectionViewCell, и он загружает ячейки в массиве (ниже приведен код внутри collectionViewCell.m):
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
NSArray *cellArray = [[NSBundle mainBundle] loadNibNamed:@"insightCell" owner:self options:nil];
NSLog (@"NSArray cellArray %i", [cellArray count]);
if ([cellArray count] < 1) {
return nil;
}
if (![[cellArray objectAtIndex:0] isKindOfClass:[UICollectionViewCell class]]) {
return nil;
}
self = [cellArray objectAtIndex:0];
}
return self;
}
Все загружается нормально, и он отображает возвращаемое значение, которое у меня есть в моем методе - (NSInteger) collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
, равное 11. Но когда я регистрирую процесс инициации cellArray, это выглядит так:
Таким образом, массив ячеек подсчитывает, сколько раз массив добавляет ячейку, и по какой-то причине он достигает только 6. Странная вещь; все 11 элементов загружаются, но NSArray не регистрирует, что он загрузил все 11, он просто останавливается на 6, что раздражает... Я пробовал несколько разных способов исправить это, но они, похоже, не работают, и это сводя меня с ума! Я не думаю, что кто-то еще сталкивался с этой проблемой?
Я добавлю в свой код представления коллекции rootController.m на всякий случай, однако все это правильно соединяется, так что это не должно быть проблемой.
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellID = @"cellID";
insightCell *myCell = (insightCell *)[collectionView dequeueReusableCellWithReuseIdentifier:cellID forIndexPath:indexPath];
return myCell;
}