In meiner Anwendung kommt dieser Fehler zufällig, wenn ich Anhang (wie Bild und Video) an andere sende Benutzer stürzt ab.'NSRangeException', Grund: '*** - [__ NSArrayM objectAtIndex:]: Index 1 über Grenzen [0 .. 0]'
Ich verwende Quickblox SDK.
Dies ist der Fehler ..
NSRangeException 'Grund:' *** - [__ NSArrayM objectAtIndex]: Index 1 jenseits Grenzen [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];
}
Fügen Sie einen Code hinzu, um diesen Fehler zu beheben. @ Preeti patel –
Sie können den Code unterhalb des Fehlers finden. – PPreeti
Versuchen Sie, einen Ausnahmeblockpunkt (Add Exception Breakpoint) hinzuzufügen, um zu debuggen, wo die Ausnahme auftritt. Es bedeutet, dass Sie versuchen, auf ein Objekt zuzugreifen, das nicht im Arrayindex enthalten ist. –