定数については、このような .h ファイルを使用することを好みます
// 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"
シングルトンを使用して、より複雑な要素を返します。
これは、どこでも同じコードを書き直すのではなく、コア データを使用してライブを簡素化するために作成したシングルトンです。
@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
したがって、私のコードでは、新しいエンティティを作成する必要があるときは、これを行うだけです:
CoreDataController *cdc = [CoreDataController sharedCoreDataController];
Liste_MO * = [cdc newListe];
シングルトンの概念の詳細については、Apple のドキュメントのセクションを参照してください。また、シングルトンを作成するために提供されているコードを詳しく調べてください。シングルトンへのリンクCreating a Singleton Instance
に関する質問に答える必要があります。
しかし、厳密なシングルトン実装では、アプリケーションの全期間にわたって、そのクラスのインスタンスが 1 つだけ作成されます。したがって、それを指す100個のオブジェクトを取得してもメモリフットプリントは変わらず、シングルトンは1つしかありませんが、それらの100個のオブジェクトがあれば、メモリに確実に影響を与えます.weak or strong