Dans this thread la mise en œuvre d'une méthode déléguée UITextInput
, l'affiche dit que quand ils exécutent une analyse statique sur leur code, ils obtiennent une erreur sur cette fonction:Les résultats de la fonction Objective-C sont-ils non normaux par défaut?
- (NSArray *)selectionRectsForRange:(UITextRange *)range
{
return nil;
}
L'erreur est « nul retour d'une méthode qui est devrait renvoyer une valeur non nulle. "
La déclaration de fonction n'a pas de spécificateur de nullité sur le résultat. Les résultats de la fonction sont-ils non-null par défaut? (Je travaille principalement dans Swift ces jours-ci, et ne suis pas expert sur les derniers changements à Objective-C.)
Etre pédant mais la méthode n'est pas explicitement marquée comme ayant une valeur de retour non nulle. Cela nécessiterait l'utilisation de la sélection '- (NSArray * _Nonnull) ...'. L'utilisation de 'NS_ASSUME_NONNULL_BEGIN' * implicitement * marque toutes les méthodes jusqu'à la' NS_ASSUME_NONNULL_END'. – rmaddy
Cool. Merci. (Et rmaddy, tout le bloc de méthodes a été marqué comme renvoyant des valeurs non nulles.) On dirait que les docs sur ces méthodes devraient les lister comme nonnull cependant. –