Pour AVAudioPlayer, quand je initWithContentsOfURL:error:
si je passe nul cela ne fonctionne pas, mais si je passe NULL c'est le cas. Et dans la documentation, il dit spécifiquement de passer NULL. Pourquoi est-ce?Pourquoi NULL obtient un résultat différent de zéro?
1
A
Répondre
0
La raison en est parce que nul est habituellement utilisé pour un type d'objet Objective-C, tandis que NULL est utilisé pour les pointeurs de style c
0
Je soupçonne autre chose qui se passe. Si vous vérifiez la définition de zéro, c'est la même chose que NULL:
#ifndef nil
#define nil NULL
#endif /* ! nil */
ne fonctionne pas =? – kennytm
'nil' devrait fonctionner. Si ce n'est pas le cas, c'est peut-être parce qu'il s'agit d'une erreur «NSError **» au lieu d'une erreur «NSError *». Mais 'nil' devrait toujours fonctionner. –
J'imagine que vous obtiendriez un avertissement, mais aucune erreur, pour passer nil au lieu de NULL. Ils sont tous les deux 0, après tout. –