我试图创建一个数字数组,以后将用它来确定tableviewcell的大小。

但是我在数组上遇到了一些问题,在我的while语句之后,它返回为NULL,但是当我记录从对象数组中获取的值时,它们是正确的……并且if语句可以完美地工作。

这是我的代码

int count = 0;

// Cell heights
int smallCell = 69;
int largeCell = 120;

NSNumber *currentHeight = [[NSNumber alloc] init]; // allows int to be stored into NSArray

while (count < seriesSearchArray.count) {
    myObj = (SeriesSearchResultItem*)[dataArrayOfObjects objectAtIndex:count];

    if (![myObj.seriesNote isEqualToString:@""]) {
        NSLog(@"%@", myObj.seriesNote);
        currentHeight = [NSNumber numberWithInt:largeCell];
        NSLog(@"%@", currentHeight); // correct value shown
        [heightArray addObject:currentHeight];
    }
    else {
        currentHeight = [NSNumber numberWithInt:smallCell];
        NSLog(@"%@", currentHeight); // correct value shown
        [heightArray addObject:currentHeight];
    }


    NSLog(@"%@", heightArray); // NULL Shown

    count ++;
}


这样就可以了,如果我试图从可以工作的数组中的每个对象获取值,则if语句可以完美地工作,但是当我尝试将它们添加到新数组中时,它总是返回为NULL。

最佳答案

移动评论以回答

你需要类似的东西

heightArray = [NSMutableArray arrayWithCapacity:seriesSearchArray.count]

10-08 05:27