Si j'ai des méthodes telles que:type sécurité paramètre méthode Objective-C
- (BOOL)isValidRow:(NSDictionary*)contentVersionRow
avons-nous vraiment vérifier en permanence comme celui-ci au début de la méthode
if(![contentVersionRow isKindOfClass:[NSDictionary class]]) {
// Handle unusual situation - probably return NO in this case
}
à mettre en œuvre vraiment bon type-sécurité à l'intérieur des méthodes Objective-C? Parce qu'en théorie le paramètre n'est pas garanti pour pointer vers un objet NSDictionary, est-ce correct?
EDIT: Donc, les réponses semblent indiquer que nous ne devrions pas vérifier cela, mais alors quelle est la différence entre vérifier cela et vérifier le paramètre nil, ce que je suppose que nous devrions faire? Ou ne devrions-nous pas vérifier non plus, si ce n'est normalement pas prévu? Les deux cas couvrent la situation d'un appelant mal se comporter.
C'est vraiment la responsabilité de l'appelant de faire sûr qu'ils passent le bon type à la méthode. – dan
Habituellement, l'EDI xCode lui-même commence à vous donner un avertissement ou une erreur lorsque l'appelant tente de modifier le paramètre. – itsji10dra
Il vous suffit de vérifier pour nil, IDE vous préviendra s'il y a une discordance et si l'objet n'est pas en mesure de convertir – Vig