은 내가 나에게 더 복잡한 요소를 반환하는 싱글 톤을 사용하는 동안이
// ConstanteDef.h
#pragma mark Entity Name Constante
#define kItemInfos @"ItemInfos"
#define kCategorie_DItems @"Categorie_DItems"
#define kCommerce @"Commerce"
#define kListe @"Liste"
#define kListeItem @"ListeItem"
#define kPrixElement @"PrixElement"
#define kTypeDe_CommerceOuListe @"TypeDe_CommerceOuListe"
같은 .H 파일을 사용하는 것을 선호합니다.
여기에는 동일한 코드를 모든 곳에서 재 작성하는 대신 핵심 데이터를 사용하여 생방송을 간소화하기 위해 만든 싱글 톤이 있습니다. , 싱글 톤 개념에 대한 자세한 내용은
CoreDataController *cdc = [CoreDataController sharedCoreDataController];
Liste_MO * = [cdc newListe];
섹션 Creating a Singleton Instance
에서 애플 설명서에 HERE을 봐 :
@interface CoreDataController : NSObject {
NSManagedObjectContext *leManagedObjectContext;
NSManagedObjectModel *leManagedObjectModel;
@private
Commerce_MO *leCommerceAucun;
}
@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
#pragma mark Objet par Défaut
@property (nonatomic, retain, readonly) Commerce_MO *commerceAucun;
#pragma mark Nouvel Objet
// new = retain count = 1, celui qui commande est responsable de la mémoire.
- (id)newMOforClass:(Class)uneClasse; // Pas le mieux, mais pourrais servir pendant le run time. Retourne nil si uneClasse ne correspond pas à quelque chose.
- (PrixElement_MO *)newPrixElement;
- (ItemInfos_MO *)newItemInfos;
- (Commerce_MO *)newCommerce;
- (Liste_MO *)newListe;
- (ListeItem_MO *)newListeItem;
#pragma mark Singleton call
+ (CoreDataController *)sharedCoreDataController;
@end
그래서 내 코드에서 나는 새로운 엔티티를 생성 할 필요가있을 때 난 그냥이 작업을 수행해야 , 그리고 그들에게 weak or strong
에 대한 귀하의 심문에 응답해야하는 싱글 톤을 만들기 위해 제공하는 코드를 자세히 살펴보십시오.
그러나 본질적으로 엄격한 싱글 톤 구현에는 응용 프로그램의 전체 기간 동안 생성 된 해당 클래스의 인스턴스가 하나만있을 것입니다. 따라서 100 개의 객체를 가리키면 메모리 발자국이 바뀌지 않습니다. 단 하나의 싱글 톤이 있지만, 100 개의 객체가 있으면 메모리에 분명히 영향을 미칩니다.
어떤 종류의 상수입니까? –