Вам нужно написать код для чего-то вроде этого
-(NSMutableArray *)getRandomArrayFromDB
{
NSMutableArray *fetchResults;
NSString *entityName=@"questionsdata";
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:globalManagedObjectContext];
[fetchRequest setEntity:entity];
fetchResults = [NSMutableArray arrayWithArray:[globalManagedObjectContext executeFetchRequest:fetchRequest error:nil]];
[fetchRequest release];
NSString *cat=@"Logic";
[fetchResults filterUsingPredicate:[NSPredicate predicateWithFormat:@"questiontype == %@",cat]];
// sort it in random order
NSUInteger count = [fetchResults count];
for (NSUInteger i = 0; i < count; ++i) {
// Select a random element between i and end of array to swap with.
int nElements = count - i;
int n = (random() % nElements) + i;
[fetchResults exchangeObjectAtIndex:i withObjectAtIndex:n];
}
return fetchResults;
}
вызовите этот метод, и он даст то, что вы хотите.