Я работаю со сторонним проектом, который мне нужно изменить.В настоящее время я встретил следующий странный код:
Функция объявлена в Obj-C следующим образом:
@interface CVASPlayer : NSObject
+ (void)optimizeForTheory:(CVGame *)game;
@end
@implementation CVASPlayer
+ (void)optimizeForTheory:(CVGame *)game {
ASGamerParser::optimizeForTheory((Game *)[game getCPPClass]);
}
@end
И она вызывается из Swift как:
CVASPlayer.optimize(forTheory: game)
Имена методов не совпадают - optimize
и optimizeForTheory
.Как это устроено?И forTheory
странно перемещается к имени параметра, как это возможно?