0
NSUInteger arrayLength = [annotations count];

    UILabel* arrayLengthLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];
    arrayLengthLabel.text = @"%@", arrayLength;
    [self.view addSubview:arrayLengthLabel];

我有上面的代码,我已经研究过了。

问题是在将数组长度计数输出到标签时。

我应该在数组中有 4 个元素,但这不是输出元素的数量,我确信我在这里犯了一个男生错误。

提前为帮助喝彩

4

3 回答 3

1

这是我将使用的代码:

int arrayLength = [annotations count];
UILabel* arrayLengthLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];
arrayLengthLabel.text = [NSString stringWithFormat:@"%i",arrayLength];
[self.view addSubview:arrayLengthLabel];

我正在使用标准 int 并使用代码%i而不是%@. 这可能是你的问题。我不知道是否NSUInteger需要%i,但我绝对知道int用途%i

另外,我不知道你的方式是否在NSString没有测试的情况下工作,所以我使用了“完整”格式,我知道它肯定有效。

于 2012-09-03T15:42:04.937 回答
1

你可以这样做:

UILabel* myLabel = [[UILabel alloc] initWithFrame: CGRectMake(25, 100, 110, 100)];
myLabel = [NSString stringWithFormat: @"%i", [myArray count]];
[self.view addSubview: myLabel];
于 2012-09-03T15:45:33.547 回答
0

进行如下更改:

NSUInteger arrayLength = [annotations count];
UILabel* arrayLengthLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];
arrayLengthLabel.text = [NSString stringWithFormat:@"%d", arrayLength];//changes made here
[self.view addSubview:arrayLengthLabel];
于 2012-09-03T15:44:11.677 回答