I added an NSDictionary to NSMutableArray.
for (TblFiles *objTblFile in visitorFilesArray) {
NSData *fileDataTemp = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: objTblFile.internalFileName]];
NSDictionary *tempDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInteger:(NSInteger)objTblFile.fileID],@"fileID",
objTblFile.fileName,@"fileName",
fileDataTemp,@"fileData",nil];
[filesArrayInAddVisitor addObject:tempDict];
}
After that I tried to delete one dictionary from this array, I am getting crash. It happens because of fileID values are changed. Some time its working perfect. Some times getting crash.
NSPredicate *objPredicate = [NSPredicate predicateWithFormat:@"fileID == %@",151];
NSArray *filterArray = [filesArrayInAddVisitor filteredArrayUsingPredicate:objPredicate];
[self->filesArrayInAddVisitor removeObject:[filterArray objectAtIndex:0]];
[self->fileTableView reloadData];
I don't know why values are changed in NSDictionary.
Example : I added fileID as 151, but in NSMutableArray it changed to zero in some cases.