2012-02-05 5 views
0

J'essaie de lancer xCode 4.2 en utilisant un iPhone 3.1.3. Ma question rapide est:xCode 4.2, iPhone 3.1.3, UITapGestureRecognizer, setNumberOfTapsRequired, sélecteur non reconnu

  • Y a-t-il une solution de contournement pour que cette fonction fonctionne?

    UITapGestureRecognizer *gestureSingleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didSingleTap:)]; 
    [gestureSingleTap setNumberOfTapsRequired:1]; 
    [taskScrollView addGestureRecognizer:gestureSingleTap]; 
    [gestureSingleTap release];  
    
  • L'erreur que je reçois au moment de l'exécution est la suivante:

    -[UITapGestureRecognizer setNumberOfTapsRequired:]: unrecognized selector sent to instance 0x143170 
    

Mes questions:

  • Y at-il une solution pour cela sur iOS3.1.3 c'est simple et ne nécessite pas une grande quantité de réécriture de code?
  • La fonction peut-elle être "étendue" d'une certaine manière pour rediriger vers un équivalent 3.1.3 pour la rétrocompatibilité?

Merci beaucoup!

Remarque: certaines fonctions sont considérées comme "privées" et ne sont pas entièrement fonctionnelles avant leur publication. C'est probablement mon problème principal. Si quelqu'un a une bibliothèque de rétrocompatibilité, je serais intéressé à l'utiliser.

+0

Note ajoutée: J'ai fait beaucoup de fouilles. On dirait que 3.1.3 n'est pas considéré comme iOS 3.2. Les fonctions de base sont celles de 3.1.3 mais sont considérées comme des "fonctionnalités non documentées" par apple en 3.1.3. Ils ont fait l'introduction complète dans iOS 3.2. – BoxCat

+0

Je vais laisser la question ouverte parce qu'il y a peut-être un moyen de contourner cela ou une extension de classe qui complète la fonctionnalité manquante dans 3.1.3. Très intéressé par les classes d'extension vers l'arrière telles que UITapGestureRecognizer + 3.1.3compatibility.h – BoxCat

+0

Ma solution de contournement pour le moment est de rétrograder mon xCode à 4.0.2 en utilisant un iPhone 3G (4.2.1) pour le développement au lieu d'un iPhone 2G (3.1.3). – BoxCat

Répondre

0

Regardez la méthode didSingleTap:

-t-il vraiment un point-virgule après et prendre un argument? (est-il orthographié correctement, et votre classe définit-elle réellement cette méthode?)

Si didSingleTap ne prend pas d'arguments, il devrait être @selector(didSingleTap) (sans les deux-points après didSingleTap).

Mise à jour: la réponse précédente était erronée. Les propriétés définissent les méthodes set/get.

+0

Salut Michael, Merci, mais il continue à faire la même erreur. Je crois que la propriété est traduite en interne à "setNumberOfTapsRequired". Voici le nouveau code: gestureSingleTap.numberOfTapsRequired = 1; Voici l'erreur: - [UITapGestureRecognizer setNumberOfTapsRequired:]: sélecteur non reconnu envoyé à l'instance – BoxCat

+0

Bon, j'ai mis à jour ma réponse. Je réalise maintenant que le sélecteur non reconnu n'est pas setNumberOfTapsRequired. –

Questions connexes