2014-05-20 2 views
2

une question de débutant :)comment faire un tableau de nombres? (xcode)

J'essayais de faire un tableau de nombres. J'ai besoin d'appeler tous les éléments de ce tableau. (tableau [i]). Je l'ai fait comme ceci:

NSNumber *array[] = {@0.240128f , @0.240128f , @0.953934f , @1.181351f, @1.382523f, @1.497086f, @1.437790f , @0.851196f}; 

mais quand je fais appel de ce tableau, il me donne une erreur:

Expected method to read array element not found on object of type "NSNumber" 

merci.

Code additionnel est passé d'un commentaire:

int SIZE = 97; 
fftw_complex *data, *fft_result, *ifft_result; 
fftw_plan  plan_forward, plan_backward; 
int   i; 
NSArray * array = @[@0.240128f , @0.240128f , @0.953934f , @1.181351f, @1.382523f, @1.497086f, @1.437790f , @0.851196f]; 

float a0 = [array[0] floatValue]; 
data = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * SIZE); 
fft_result = ... 
ifft_result = ... 
plan_forward = ... 
plan_backward ... 

for(i = 0 ; i < SIZE ; i++) { 
    data[i][0] = array[i]; 
    data[i][1] = 0.0; 
} 
+0

'data [i] [0] = array [i],' 'doit être [array [i] floatValue];' – zaph

+0

@Zaph VOUS RÉSOLVIONS, son travail, je traînais ici il y a deux jours :) merci beaucoup – josef

Répondre

0

Il y a deux problèmes

D'abord la déclaration pour la création du tableau a des erreurs, le « [] » après la variable et l'utilisation "{}" au lieu de "[]" pour initialiser un tableau. Puis, à partir d'un commentaire, il y a un accès incorrect des éléments du tableau de deux façons. Le tableau est une diminution et non une diminution. Ensuite, le retour du tableau est un NSNumber et doit être décompacté, c'est-à-dire converti d'un NSNumber en float.

Voici un exemple de code avec les erreurs corrigées:

NSArray * array = @[@0.240128f , @0.240128f , @0.953934f , @1.181351f, @1.382523f, @1.497086f, @1.437790f , @0.851196f]; 
float a0 = [array[0] floatValue]; 
NSLog(@"a0: %f", a0); 

sortie NSLog:

a0: 0.240128

Meilleur pari: prendre le temps d'en apprendre davantage sur NSArray accès et Objective-C en général. Il existe de nombreuses ressources sur le Web à la fois sous forme de manuels/documentation et de tutoriels.

+0

merci pour votre passion. le tableau fonctionne. pouvez-vous s'il vous plaît jeter un oeil sur mon code et dites-moi ce que je fais faux? 'Tableau NSArray * = @ [@ 0.240128f, @ 0.240128f, @ 0.953934f, @ 1.181351f, @ 1.382523f, @ 1.497086f, @ 1.437790f, @ 0.851196f]; float a0 = [array [0] floatValue]; ... pour (i = 0; i josef

+0

J'ai ajouté le code ci-dessus à la question, vous pouvez modifier votre propre question. Si ce n'est pas correct, veuillez le modifier si nécessaire. Veuillez supprimer le commentaire ci-dessus. – zaph

+0

mon problème principal c'était bye appelant quelques données d'un fichier.txt (son dans cette Question: [link] (http://stackoverflow.com/questions/23748427/how-to-get-from-a-file-txt -le-tableau-que-je-besoin-en-x-code) je ne pouvais pas le résoudre alors maintenant j'essaie d'enregistrer les données dans un tableau et de l'utiliser directement – josef

0

Vous essayez probablement de tableau initialiser, mais de façon « génériques ». Objective-C ne supporte pas les génériques.

Voilà comment vous devez initialiser un NSArray de NSNumbers:

NSArray * array = @[@0.240128f , @0.240128f , @0.953934f , @1.181351f, @1.382523f, @1.497086f, @1.437790f , @0.851196f]; 
+0

merci pour votre réponse rapide. Je le faisais comme ça mais je reçois cette erreur à côté: 0Array * array = @ {@ 0.240128f, @ 0.240128f, @ 0.953934f, @ 1.181351f, @ 1.382523f, @ 1.497086f, @ 1.437790 f, @ 0,851196f}; Attendu; . ' pointant sur la première virgule entre les premiers numéros de remorquage. – josef

+0

et en appelant ce tableau j'obtiens aussi cette erreur: 'Assigner à" double "de type incompatible" id "' – josef

+2

@Eimantas La syntaxe est incorrecte, pour les tableaux utilisent "[" et "]", pour les dictionnaires utilisent " {" et "}". L'instruction corrigée: 'NSArray * array = @ [@ 0.240128f, @ 0.240128f, @ 0.953934f, @ 1.181351f, @ 1.382523f, @ 1.497086f, @ 1.437790f, @ 0.851196f]; ' – zaph

Questions connexes