J'ai écrit ce code simple pour tester la nouvelle syntaxe littérale de l'Objective-C pour les fichiers NSArray
s :
NSArray *array = @[@"foo"];
NSLog(@"%@", array[0]);
La première ligne fonctionne bien, mais la mise en indice entraîne une erreur :
La méthode attendue pour lire un élément de tableau est introuvable sur un objet de type 'NSArray *'.
Je me demande juste si j'ai fait quelque chose de mal, ou si les littéraux n'ont pas encore été complètement implémentés. Je compile avec Apple LLVM 4.0 et j'utilise le SDK iOS 5.
Voici également une capture d'écran de l'erreur.
0 votes
La page sur clang.llvm.org concernant les littéraux Objective-C indique que vous devez utiliser Apple LLVM 4.0 ou clang v3.1 pour utiliser les nouvelles fonctionnalités. Avez-vous installé l'une de ces versions, et est-elle spécifiée dans vos paramètres de construction ?
0 votes
Oui, j'utilise LLVM 4.0. J'aurais dû mentionner que
3 votes
Vous devez également compiler avec les SDK iOS 6 ou OS X 10.8, faute de quoi les objets Foundation ne disposent pas des méthodes nécessaires pour l'indice de la syntaxe littérale.
1 votes
@JoshCaswell C'est la réponse, je compile pour iOS5. Postez comme une réponse pour que je puisse accepter !
0 votes
stackoverflow.com/questions/9347722/