从NSString转换为int无效

时间:2013-07-19 19:03:20

标签: ios objective-c

我在.h中创建了一个nsstring idd变量。并在.m中合成。现在我有一个int变量b,并希望将idd的值存储在b中。现在当我将idd转换为int时。它不工作b总是给我0值。

·H

@property(retain, nonatomic) IBOutlet NSString *idd;

的.m

 int b=[idd intValue];
NSLog(@"the value of b=%d",b);

4 个答案:

答案 0 :(得分:2)

IBOutlets和IBActions是标记变量和方法的宏,Interface Builder可以引用这些变量和方法将UI元素链接到您的代码。它们通常链接到NSResponder的子类(如NSButton,NSView等);不是NSString的。除非idd绑定到NIB中的某些内容,否则它将没有除默认值(零)之外的任何值。如果idd绑定到GUI对象(控件),那么你可能想要的是控制值(在这种情况下你的代码是正确的)。

答案 1 :(得分:1)

idd可能没有值,或者具有无法解析为整数的值。试试NSLog idd查看其中包含的内容。

答案 2 :(得分:0)

idd = @"2";
int b = [idd intValue];
NSLog(@"b = %i", b);

并且应该显示2为b

答案 3 :(得分:0)

你需要

int b=[self.idd intValue];