Почему бы вам просто не использовать локальную переменную?
NSFileManager *fm = [NSFileManager defaultManager];
// use fm...
или еще лучше, впрыснуть файловый менеджер, как аргумент метода:
- (void)myMethod {
//using [NSFileManager defaultManager]
}
становится
- (void)myMethodWithFileManager:(NSFileManager*)fm {
//usin fm
}
Поскольку defaultManager одноэлементно (фактически глобальный), что делает тестирование действительно трудно. Инъекция зависимостей экономит ваше печатание (как вам угодно) внутри метода и упрощает модульное тестирование - вы можете вводить тестовый двойной вместо стандартногоManager.
И, наконец, Cocoa и Objective-C обычно опускаются на привилегированный явный код по короткому коду. Философия в основном заключается в том, что использование более подробных имен делает код более легким для чтения (и, следовательно, для поддержания). Эта философия полностью подходит к селекторному стилю Objective-C с чередующимися именованными аргументами. Если вы не действительно не может обрабатывать дополнительную типизацию (и завершение кода Xcode не будет работать для вас), придерживайтесь существующих имен. Когда в Риме и все это ...
NSFM - небезопасно для Microsoft? –
В свете немного большего опыта, определение похоже на плохой стиль. Но в моей защите тонны моих методов использовали NSFileManager, поэтому это казалось хорошей идеей. – zekel