2010-11-17 17 views
1

Je suis actuellement en train de planifier (et de coder une partie) une nouvelle application. J'ai un tableau d'éléments que l'utilisateur crée. C'est effectivement la bibliothèque. Il est plus facile de penser à cela comme les ingrédients et les repas classiques.identifiant unique pour tableau d'éléments dans l'iphone

J'ai une bibliothèque d'ingrédients. J'ai alors une bibliothèque de repas. Chaque repas contiendra plusieurs ingrédients. Donc, la relation est un repas à plusieurs ingrédients. Chaque ingrédient peut être utilisé dans plusieurs repas. Je vais bien, mais je réfléchis à la façon dont les ingrédients seront identifiés au cours du repas. Si je supprime un ingrédient, je veux alors supprimer la référence dans chaque repas où il peut apparaître. Dois-je assigner un ID aléatoire (peut-être un nombre à 5 chiffres) pour chaque ingrédient que l'utilisateur crée, puis quand il l'ajoute à un repas, j'utilise l'ID à 5 chiffres comme identifiant. Lorsqu'un utilisateur supprime un ingrédient, je fais ensuite une boucle dans chaque tableau de repas et j'enlève toute référence au code à 5 chiffres de l'ingrédient.

OU ... suis-je complètement en train de penser à ça ?! Merci pour toute aide !!

Répondre

0

Il suffit de faire un [hachage article]

Mais ...

On dirait que vous voulez simplement créer un tableau de références de vos « repas » à vos « ingrédients ». Un NSArray ou NSMutableArray conservera votre "ingrédient" - et le relâchera lorsque le tableau sera libéré.

+0

Merci Brad. Je viens de regarder le hash de l'objet. Cela semble faire référence à la mémoire de l'élément de tableau si je suis en train de penser? Vous avez raison de dire que la gamme de repas est simplement une pile de références aux ingrédients. NSMutableArray est la direction dans laquelle je me dirigeais. Je vais regarder CFArray comme je ne les ai jamais utilisés auparavant. Merci. –

+0

Je suis un peu flou - mais je crois que NSArray conservera simplement l'objet que vous y placez. (Au départ, je pensais que NSArray * le copierait, mais je ne pense pas que ce soit le cas). – Brad

+0

NSArray conserve en effet ses NSObjects. –

1

Que diriez-vous juste d'utiliser sqlite pour stocker les ingrédients et les repas? Je ne sais pas ce que vous êtes en train de coder, mais cela semble être une bonne application pour une base de données.

Si vous n'avez pas besoin de stocker de façon permanente les données (par exemple, vous parlez réellement d'un jeu ou de quelque chose), vous pouvez toujours utiliser une base de données avec des tables temporaires).

+0

Merci Joseph. Je suis descendu la route des données de base/SQLite avant - mais c'est exagéré pour ceci. L'application est une application de cuisine simple. J'ai juste besoin de stocker le nom d'un ingrédient et le temps de cuisson. Puis préparer des repas à partir de ces ingrédients. Je vais probablement faire simplement une nouvelle gamme de repas et copier les ingrédients pour ce repas - mais pas le tableau. Simplement le contenu et conserver dans le nouveau. Donc, ce n'est pas référencé. Il n'y aura jamais qu'une poignée de repas. Merci pour la réponse. –