2013-03-05 45 views
0

我意识到这是一个愚蠢的初学者问题,但我一直坚持至少一个小时试图从我的数组中获取一个整数值,以便在按下按钮时显示在标签上。问题在于无论标签看什么索引,标签都会显示“(null)”。我也试着拿出NSArray对象上的引号。无论NSArray中的对象是整数还是字符串都没有关系,但我至少想知道如何将它们放入数组中的语法,因为我相信这是我的问题。如果没有,请另外指示我。如何在UILabel上显示一个NSArray的整数?

我的代码: (h文件)

@property (strong, nonatomic) NSArray *redOneTeams; 

(.m文件)

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
     _redOneTeams = @[ 
        @"4351", 
        @"4298", 
        ]; 
     } 
    return self; 
} 

- (IBAction)saveBtn:(id)sender { 
    _teamNumber.text = [[NSString alloc] initWithFormat: @"%@", [_redOneTeams objectAtIndex:0]]; 
} 
+0

这个视图控制器是如何创建的?只需在'saveBtn:'中说'_teamNumber.text = @“起作用!”就把这个问题分成两部分。然后我们知道问题是标签阵列还是您的出口。 – 2013-03-05 03:53:06

+0

我在显示NSInteger时在我的应用程序中有30个其他标签,我只是试图让这个特定的工作。 – 2013-03-05 04:01:15

回答

0

有两种可能与您的问题。

  1. 只需在initWithNibName上设置一个断点并检查此方法是否正在触发。我觉得这个方法 没有被调用。所以你阵列没有被设置。
  2. 如果你不能找出为什么initWithNibName没有被调用,那么你可以将你的代码转换为viewDidLoad方法。

只要尝试一下这些东西,你可能会遇到问题。

0

因此,有几个选择这里:

1把数直接插入数组中作为数字:

_redOneTeams = @[ 
       @4351, 
       @4298, 
       ]; 

这会自动识别为文字/数字。

- (IBAction)saveBtn:(id)sender 
{ 
    _teamNumber.text = [[NSString alloc] initWithFormat: @"%i", [_redOneTeams objectAtIndex:0]]; 
} 

2-另一个更令人费解的方式,但向你展示了如何从NSString的解开号:

跟上的NSString元素,并宣布你的数组如果你这样做,那么你可以只是把它那么获得的价值形成的NSString如下:

- (IBAction)saveBtn:(id)sender 
{ 
    _teamNumber.text = [[NSString alloc] initWithFormat: @"%i", [[_redOneTeams objectAtIndex:0] intValue]]; 
} 

希望这有助于

+0

啊,我明白了。 Xcode autocorrected把@“%@”用于我的文本。谢谢!我明天会查看它是否有效。 – 2013-03-05 04:03:06

+0

这是否解决了您的问题? – Spectravideo328 2013-03-05 21:40:23

+0

事实证明,我的数组甚至从未被初始化,即使我在创建新页面时苹果提供的代码中进行自定义初始化时也是如此。奇怪。我结束了我的按钮按下方法初始化数组,它在那里工作。感谢您的帮助! – 2013-03-06 01:40:03