2013-07-15 3 views
5

Я использую мой одиночный класс DataManager в 99% моего проекта. Вместо того, чтобы импортировать его в каждый класс, я подумал о том, чтобы просто импортировать его в файл pch, как я делаю с моими константами. Есть ли в этом недостатки? Это считается плохой практикой?Импорт моего одноэлементного класса с использованием Project_Prefix.pch - Плохая практика?

Благодаря

#import <Availability.h> 

#ifndef __IPHONE_5_0 
#warning "This project uses features only available in iOS SDK 5.0 and later." 
#endif 

#ifdef __OBJC__ 
    #import <UIKit/UIKit.h> 
    #import <Foundation/Foundation.h> 
    #import "Constants.h" 
    #import "DataManager.h" 
#endif 
+3

Плохая практика заключается в том, что ваш код на 99% зависит от этого класса, потому что у вашего кода много скрытых муфт .. –

+3

@Maria Возможно, но это был не вопрос. – Segev

ответ

3

В ходе оценки для хорошей практики #importing XYZ.h бы, в течение жизни проекта,

NSTimeInterval saved = (time that would have been spent compiling XYZ.h plus every header it #imports in each file that included it every build); 

NSTimeInterval wasted = (time spent recompiling files that do not include XYZ.h when XYZ.h changed); 

if (saved > wasted) goodPractice = YES; 

Таким образом, любая система #import, и, скорее всего, большая часть вашей библиотеки #imports - отличные кандидаты. Что-нибудь еще; хорошо, если 95% вашего кода перекомпилируется в любом случае с этим конкретным заголовком, уверенность в том, что его включение там имеет смысл. There's a good writeup here по теме.

+0

+1 для формата этого ответа –

Смежные вопросы