Je travaille sur un code qui me oblige à stocker 60 * 4 valeurs booléennes, les titres de ces valeurs sont stockées dans un fichier plist. J'ai besoin pour manipuler les valeurs booléennes à l'exécution et ne pouvait pas trouver un moyen de mettre à jour le fichier plist easily..also en utilisant la base de données SQLite pour stocker les valeurs booléennes devient trépidante pour une telle grande quantité de données ... Y at-il de façon simple par que je peux stocker et récupérer facilement ces valeurs à la fois lors de l'exécution et après l'application démarre?
La meilleure façon de stocker un large éventail de variables booléennes?
Je ne veux pas être un hérétique, mais il y a une règle simple pour les cas comme celui-ci: l'optimisation prématurée est la racine de tous les maux.
60 * La figure 4 est seulement 240 des booléens. Même si vous parvenez à les stocker en quelque sorte de la pire façon possible et prendre 1k par booléen, qui est encore seulement 240k. Tant que c'est le stockage plutôt que de RAM, qui se soucie? Pourquoi ne pas commencer par la façon possible et le plus simple corriger quand quelque chose vient à vous plus tard? SQLite serait parfaitement bien pour cela.
Si vous êtes proche de l'expédition et ont identifié comme un problème, par tous les moyens d'ignorer cette réponse. :)
Alors que ça va être beaucoup plus facile à utiliser NSArray ou NSMutableArray comme mentionné ci-dessus, vous pouvez envisager d'utiliser la classe standard vecteur C ++. Autant que je sache ce qui est très WRT efficace de l'espace. l'allocation de mémoire.
Vous pouvez utiliser la méthode NSData de stockage du tableau booléen, mais vous pouvez aussi tout simplement laisser le cacao faire naturellement:
NSArray* arrayOfBools; // array of 240 NSNumbers, each made with [NSNumber numberWithBool:NO];
puis
[[NSUserDefaults standardUserDefaults] setObject:arrayOfBools forKey:@"MyNameForThe240"];
les récupérer:
NSArray* savedBools = [[[NSUserDefaults standardUserDefaults] objectForKey:"MyNameForThe240"];
Vous aurez probablement les voulez dans un tableau mutable:
NSMutableArray* the240ThatCanBeEdited = [NSMutableArray arrayWithArray:savedBools];
Puis, cesser de fumer, les sauver avec la
[[NSUserDefaults standardUserDefaults] setObject:the240ThatCanBeEdited forKey:@"MyNameForThe240"];













