You need to use predicate with your A's objectID, like this:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *BEntity = [NSEntityDescription entityForName:@"B" inManagedObjectContext:moc];
[fetchRequest setEntity:BEntity];
NSPredicate *predicate = [NSPredicate
predicateWithFormat:@"(relationship_to_a = %@)", [yourAInstance objectID]];
[fetchRequest setPredicate:predicate];
where relationship_to_a is name of the relationship to A in your B managed object.
Hope this helps.
Btw.: To all those other answers that suggests to use the faults from the relationship set: I have tried this myself, and it was way slower than fetching them, because Core Data apparently fire the faults one after another (not in batch), therefore making it painfully slow for larger sets.
Actually, if you get your A instance by fetching, then you can try to set relationshipKeyPathsForPrefetching in your NSFetchRequest to YES, and then all the objects in the relationship shouldn't be faults. But this didn't work for me, so I stuck with the 'fetch solution'.