-3

我在 .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

4 回答 4

2

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

于 2013-07-21T00:04:54.967 回答
1

idd可能没有值,或者有一个无法解析为整数的值。试着NSLog看看idd它包含什么。

于 2013-07-19T19:06:12.340 回答
0

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

那应该显示 2 为 b

于 2013-07-21T00:19:34.890 回答
0

你需要

int b=[self.idd intValue];

于 2013-07-21T01:57:01.427 回答