Objective-CのコードをSwiftから使用しようとしているのですが

@interface HMCoreDataManager : NSObject
// primitive
- (NSArray *)objectsWithEntityName:(NSString *)entityName sortDescriptors:(NSArray *)sortDescriptors predicate:(NSPredicate *)predicate error:(NSError **)error;

// A
- (NSArray *)objectsWithEntityName:(NSString *)entityName sortDescriptors:(NSArray *)sortDescriptors error:(NSError **)error predicateFormat:(NSString *)format, ...;
- (NSArray *)objectsWithEntityName:(NSString *)entityName predicate:(NSPredicate *)predicate error:(NSError **)error;

// B
- (NSArray *)objectsWithEntityName:(NSString *)entityName error:(NSError **)error predicateFormat:(NSString *)format, ...;

@end

上のクラスの AのメソッドをSwiftから呼ぼうとすると

error: extra argument in call

というコンパイルエラーが

BのメソッドをSwiftから呼ぼうとすると

error: argument 'predicateFormat' must precede argument 'error'

というコンパイルエラーが発生します

いずれも可変引数を含むメソッドなのですが、Swiftから可変引数を含むObjective-Cメソッドを呼ぶ場合何か制約があるのでしょうか

それとも何か別の要因があるのでしょうか?