如何在UILabel上显示NSArray中的整数?

时间:2013-03-05 03:43:40

标签: nsstring integer nsarray uilabel nsinteger

我意识到这是一个愚蠢的初学者问题,但是当我按下按钮时,我试图从我的数组中获取一个整数值以显示在标签上至少一个小时。问题是,无论我把标签放在哪个索引上,标签都会一直显示“(null)”。我也试过取出NSArray对象上的引号。 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]];
}

2 个答案:

答案 0 :(得分:0)

所以这里有几个选项:

1-将数字直接放入数组中:

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

这会自动识别为文字/数字。如果你这样做,那么你可以用:

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

2-另一种更复杂的方式,但向您展示如何从NSStrings中解开数字:

使用NSString元素声明数组,然后从NSString获取值,如下所示:

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

希望这有帮助

答案 1 :(得分:0)

您的问题有两种可能性。

  1. 只需在initWithNibName上设置一个断点,然后检查此方法是否正在触发。我觉得这个方法 不会以某种方式被召唤。所以你的数组没有设置。
  2. 如果您无法找到未调用initWithNibName的原因,则可以将代码转换为viewDidLoad方法。
  3. 试试这些事情可能会引发问题。