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