it-swarm.com.de

Wie konvertiere ich NSInteger-Wert in Int-Wert in Ziel C?

Wie konvertiere ich den Wert von NSUInteger in den Wert von int in ObjectiveC?

und auch, wie man NSUInteger Wert in NSLog druckt, versuchte ich %@,%d,%lu diese funktionieren nicht und werfen Ex-Bad Access Fehler.

Vielen Dank

26
GR.
NSUInteger intVal = 10;
int iInt1 = (int)intVal;
NSLog(@"value : %lu %d", (unsigned long)intVal, iInt1);

weitere Informationen finden Sie unter hier

73
Girish

Explizite Umwandlung in int

NSUInteger foo = 23;
int bar = (int)foo;

Obwohl

NSLog(@"%lu",foo);

wird auf aktuellen Builds von OSX funktionieren. Es ist nicht sicher, da NSUInteger in anderen Builds als int ohne Vorzeichen eingegeben wird. Wie zum Beispiel iOS. Die strikte Antwort ist, es zuerst zu werfen:

NSLog(@"%lu",(unsigned long)foo);
3
Steve Waddicor

Hallo, es funktioniert für mich ...

Ich habe es versucht ..

NSUInteger  inbox_count=9;
NSLog(@"inbox_count=%d",(int)inbox_count);

//output   
inbox_count=9

danke an alle ..

1
GR.

So einfach ist das

NSUInteger uintV = 890;
int intVal = (int) uintV;
NSLog(@"the value is : %lu", (unsigned long)intVal);


dies wird so etwas ausgeben,
der Wert ist: 89