In my application this error coming randomly when i send attachment(like Image and video) to other user,it crashes.
I am using Quickblox SDK.
This is the error..
NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]
2016-04-26 10:22:50.510 Sample-VideoChat[1027:12093] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
enter code here
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
NSLog(@"self.chatSections....%@",self.chatSections);
return [self.chatSections count];
}
- (UICollectionViewCell *)collectionView:(QMChatCollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
QBChatMessage *messageItem = [self messageForIndexPath:indexPath];
NSRange textRange =[messageItem.text rangeOfString:@"https://api.quickblox.com/blobs/"];
Class class = [self viewClassForItem:messageItem];
NSString *itemIdentifier = [class cellReuseIdentifier];
QMChatCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:itemIdentifier forIndexPath:indexPath];
cell.avatarView.tag = 0;
if ((messageItem.attachments.count != 0) && textRange.location != NSNotFound)
{
QBChatAttachment* attachment = [[QBChatAttachment alloc] init];
attachment.ID = @"3565772";
attachment.url = messageItem.text;
attachment.type = @"image";
[cell.avatarView setImageWithURL:[NSURL URLWithString:attachment.url] placeholder:nil options:SDWebImageContinueInBackground progress:^(NSInteger receivedSize, NSInteger expectedSize)
{
} completedBlock:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL)
{
cell.avatarView.tag = 4592;
}];
}
cell.transform = self.collectionView.transform;
UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTap:)];
singleTapGestureRecognizer.numberOfTapsRequired = 1;
singleTapGestureRecognizer.enabled = YES;
[self collectionView:collectionView configureCell:cell forIndexPath:indexPath];
return cell;
}
- (QBChatMessage *)messageForIndexPath:(NSIndexPath *)indexPath {
if (indexPath.item == NSNotFound) {
// If the update item's index path has an "item" value of NSNotFound, it means it was a section update, not an individual item.
return nil;
}
QMChatSection *currentSection = self.chatSections[indexPath.section];
return currentSection.messages[indexPath.item];
}