2010-06-17 4 views

Répondre

3

Oui, il y a de la documentation sur le processus mais si vous voulez instancier une classe qui pourrait ne pas être présente, vous devez d'abord tester. L'utilisation de NSClassFromString renvoie null si vous exécutez 3.x sans la classe et renvoie une classe que vous pouvez utiliser pour allouer une nouvelle instance si la classe existe en cours d'exécution sur un système d'exploitation ultérieur. De cette façon, vous pouvez tester et revenir au code 3.x et utiliser les classes et fonctionnalités 4.x si disponibles. Assurez-vous de compiler avec les nouvelles bibliothèques (4.x) tout en réglant votre OS cible sur 3.x afin de pouvoir lancer une nouvelle classe dans votre code sans avertissement de compilation.

Si vous souhaitez utiliser une nouvelle API ou de soutenir un changement dans l'API, vous pouvez tester la présence de méthode utilisant respondsToSelector et éventuellement tirer la méthode par performSelector etc.

Il y a beaucoup de cas différents, mais l'idée tourne Par exemple, vous pouvez vérifier l'existence de la classe UILocalNotification et si elle est disponible, vous mettez un bouton sur le barre d'outils et si elle n'existe pas, vous n'avez pas - donc tout à fait éviter le code qui planterait à l'exécution.

Questions connexes