Domanda

This is how my MyManager numberOfBedrooms property is set:

@property(nonatomic, assign) NSUInteger numberOfBedrooms;

This is how I assign the value to it from a textbox:

 myManager.numberOfBedrooms = (NSUInteger) self.bedroomTextField.text;

When i enter a 1 in text box, and do the following, I get large values like 304284 WHy?

NSLog(@"bedrooms is: %@", [NSNumber numberWithUnsignedInt: myManager.numberOfBedrooms] );
NSLog(@"bedrooms is: %d", myManager.numberOfBedrooms );
È stato utile?

Soluzione

Change to:

 myManager.numberOfBedrooms = (NSUInteger) [self.bedroomTextField.text intValue];

Altri suggerimenti

You can't do this casting (you're converting an object to an int):

myManager.numberOfBedrooms = (NSUInteger) self.bedroomTextField.text;

You should do something like:

myManager.numberOfBedrooms = [self.bedroomTextField.text intValue];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top