我在 .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);
我在 .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);
IBOutlets 和 IBActions 是标记变量和方法的宏,Interface Builder 可以引用这些变量和方法,以将 UI 元素链接到您的代码。它们通常链接到 NSResponder 的子类(如 NSButton、NSView 等);不是 NSString 的。除非 idd 绑定到 NIB 中的某个东西,否则它不会有除默认值(零)之外的任何值。如果 idd 绑定到 GUI 对象(控件),那么您可能想要的是控件值(在这种情况下,您的代码是正确的)。
idd
可能没有值,或者有一个无法解析为整数的值。试着NSLog
看看idd
它包含什么。
做
idd = @"2";
int b = [idd intValue];
NSLog(@"b = %i", b);
那应该显示 2 为 b
你需要
int b=[self.idd intValue];