0

这就是我的 MyManager numberOfBedrooms 属性的设置方式:

@property(nonatomic, assign) NSUInteger numberOfBedrooms;

这就是我从文本框中为其分配值的方式:

 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 );
4

2 回答 2

3

改成:

 myManager.numberOfBedrooms = (NSUInteger) [self.bedroomTextField.text intValue];
于 2012-08-01T17:41:57.590 回答
0

你不能做这个转换(你正在将一个对象转换为一个 int):

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

您应该执行以下操作:

myManager.numberOfBedrooms = [self.bedroomTextField.text intValue];
于 2012-08-01T17:42:44.560 回答