J'ai myClass instancié par mon appDelegate, j'ai une autre classe, newClass instanciée par myClass. Dans l'instance newClass, je souhaite accéder à une propriété dans l'instance myClass qui l'a créée. Je l'ai fait par:Avertissement du compilateur "introuvable dans le (s) protocole (s)" lors de l'utilisation du délégué [[[UIApplication sharedApplication]] myClass Property]?
[[[UIApplication sharedApplication].delegate myClass] property]
Cela fonctionne, je peux réellement obtenir la propriété mais je reçois cet avertissement Xcode:
warning: "-myClass" not found in protocols
warning: no "-myClass" method found
(messages without a matching signature will be assumed to return "id" and accept "..." as arguments)
La propriété NewClass a été déclarée correctement dans le .h et. m fichiers, ses propriétés ont été définies et il a été synthétisé.
Il compile et fonctionne et je peux réellement obtenir la valeur de la propriété.
Devrais-je ignorer l'avertissement dans Xcode?
Existe-t-il un meilleur moyen d'accéder à la propriété de l'occurrence myClass?
Merci beaucoup Mike Abdullah. Je voulais seulement une variable d'instance particulière. J'ai finalement choisi la solution singleton comme vous l'avez suggéré. –
Désolé, pourquoi exactement cette mauvaise pratique?Cela ressemble au genre de chose que je ferais: p – AriX
Pour commencer, la typographie est généralement un mauvais signe. Dans ce cas, il rend votre code plus fragile en supposant que le délégué de l'application sera * toujours * de cette classe particulière. Au fur et à mesure que votre application se développe, cela peut ne pas être vrai, surtout si vous vous lancez dans des choses comme les tests unitaires. –