我在.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);
答案 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];