2013-07-15 1 views
5

Io uso la mia classe DataManager singleton nel 99% del mio progetto. Invece di importarlo in ogni classe ho pensato di importarlo solo all'interno del file pch come faccio con le mie costanti. Ci sono degli svantaggi? È considerato una cattiva pratica?Importare la mia classe singleton usando Project_Prefix.pch - Cattiva pratica?

Grazie

#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

La cattiva pratica è che il tuo codice dipende dal 99% di questa classe perché il tuo codice ha molti accoppiamenti nascosti. –

+3

@Maria Forse, ma non era questa la domanda. – Segev

risposta

3

La valutazione per le buone pratiche di #importing XYZ.h sarebbe, per tutta la durata del progetto,

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; 

Quindi qualsiasi sistema #import, e molto probabilmente la maggior parte delle tue #import di librerie, sono candidati eccellenti. Qualunque altra cosa; beh, se il 95% del tuo codice viene ricompilato comunque con quel particolare header, sicuramente metterlo lì ha senso. There's a good writeup here sull'argomento.

+0

+1 per il formato di questa risposta –