Для константы я предпочитаю использовать .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"
Хотя я бы использовал Singleton, чтобы вернуть мне более сложный элемент.
Вот синглтон, который я сделал дляупростить мою жизнь с основными данными, вместо того, чтобы переписывать один и тот же код везде.
@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];
Для получения дополнительной информации о концепции Singleton, посмотрите ЗДЕСЬ в документации Apple в разделе Creating a Singleton Instance
и внимательно посмотрите на код, который они дают для создания синглтона, который должен ответить на ваш запрос о weak or strong
ссылка на него.
Но, по сути, строгая одноэлементная реализация будет иметь только один экземпляр этого класса, созданный за все время работы приложения.Таким образом, если у вас есть 100 объектов, указывающих на это, это не меняет отпечаток вашей памяти, есть только 1 синглтон, но если у вас есть 100 объектов, которые определенно повлияют на вашу память.