0

我意识到这是一个愚蠢的初学者问题,但是当我按下按钮时,我试图从我的数组中获取一个整数值以显示在标签上,我已经被困了至少一个小时。问题是标签一直显示“(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]];
}
4

2 回答 2

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]];
}

希望这可以帮助

于 2013-03-05T03:54:55.997 回答
0

你的问题有两种可能。

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

试试这些东西,你可能会发现问题。

于 2013-03-05T04:05:45.210 回答