Como arredondar o CGFloat

Eu fiz esse método

+ (CGFloat) round: (CGFloat)f {
    int a = f;
    CGFloat b = a;
    return b;
}

Funciona como esperado, mas apenas é arredondado. E se for um número negativo, ele ainda será arredondado.

Este foi apenas um método rápido que eu fiz, não é muito importante girar corretamente, apenas fiz o arredondamento dos valores x e y da câmera para o meu jogo.

Este método está correto? É rápido? ou há uma solução melhor?