Non capisco il warning

di il
2 risposte

Non capisco il warning

Salve sto seguendo una guida ma arrivato qui mi da un worning il codice del libro e non capisco
Mi sapreste dare qualche consiglio?

#import <Cocoa/Cocoa.h>
#import "Somma.h"

int main(int argc, char *argv[])
{
    int numero =2;
    NSString *stringa =[NSString stringWithFormat:@"il valore del numero è%i",numero];
    NSRange subRange;
    
    subRange = [stringa rangeOfString:@"a"];
    NSLog(@"La parola valore inizia alla %i lettera ed è lunga %i",subRange.location, subRange.length);
    
    
    return 0;
}
Il worning appare sulla riga dell'NSlog e dice
Values of type 'NSUInteger' should not be used as format arguments; add an explicit cast to 'unsigned long' instead

2 Risposte

  • Re: Non capisco il warning

    Ciao, il warning è abbastanza esplicito. Ti fa capire che c'è qualche problema con un NSUInteger. Se vai a vedere range.location e range.length ritornano degli NSUInteger, che sono degli unsigned int. Quando formatti la stringa, anzichè utilizzare lo specifier %i (per gli interi normali si usa %d), prova col %u.

    Qui trovi tutti i format specifiers

    Spero di esser stato utile.

    Buona serata
  • Re: Non capisco il warning

    Perfetti era quello. Devo entrare nell'ottica di questo linguaggio.

    Se riuscissi a trovare una guida con molti esempi ed esercizi...

    Ancora grazie
Devi accedere o registrarti per scrivere nel forum
2 risposte