Comment puis-je stocker une valeur float dans un NSArray?
for ( tempI = 0; tempI < 10; tempI++ )
{
tempJ = 1;
NSArray *objectsForArray = [NSArray arrayWithObjects:@"array[tempI][tempJ]", @"array[tempI][tempJ+1]", @"array[tempI][tempJ+2]", nil];
}
Puis-je écrire le code comme ci-dessus. J'ai besoin de stocker une valeur float (array[][])
dans NSArray
. Puis-je le faire ?
Mon problème est que j'ai une matrice
1.0 0.4 0.3 0.5
2.0 0.4 0.5 0.5
3.0 4.3 4.9 0.5
J'ai besoin de récupérer les valeurs (0.4, 0.3, 0.5) à l'aide de 1.0, 2.0 3.0 . Comment puis-je utiliser NSDictionary pour cela?
Merci
for( tempI = 0; tempI < 5; tempI++)
{
NSDictionary *dictionary[tempI] = [ [NSDictionary alloc] initWithObjects:@"array[tempI][tempI + 1]", @"array[tempI][tempI + 2]", @"array[tempI][tempI + 3]", @"array[tempI][tempI + 4]", @"array[tempI][tempI + 5]", nil];
}
Puis-je écrire de cette façon ? N'Objective C l'accepte ?
J'obtiens une erreur comme
error: variable-sized object may not be initialized
Puis-je vous demander pourquoi vous voulez stocker une matrice 3D dans NSArray?
OriginalL'auteur srikanth rongali | 2010-04-06
Vous devez vous connecter pour publier un commentaire.
NSArray ne peut stocker des objets, pas des primitives, heureusement, la NSNumber classe a une méthode de convenance qui prend un flotteur primitive et renvoie un float objet en tant que tel:
par conséquent, vous pouvez remplir votre tableau comme ceci:
Comme un problème spécifique, vous pourriez écrire:
aussi loin que l'utilisation d'un dictionnaire pour la restauration des valeurs de matrice, la seule façon que je peux penser serait de code de la clé de votre matrice de valeurs en tant que telles:
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 C3 C4
D1 D2 D3 D4
par exemple:
Aussi, il est important de souligner ici que chaque fois que quelque chose est écrit sous le format @"quelque chose ici", il est littéralement un objet NSString. donc, lorsque vous écrivez:
c'est exactement la même chose que d'écrire:
OriginalL'auteur FatalMojo
Essayer:
OriginalL'auteur lugte098