在NSMutableArray的末尾插入元素

时间:2013-04-16 10:26:32

标签: ios objective-c xcode nsmutablearray uipickerview

我正在从Web服务加载数组并在选择器中显示它们并且一切正常。我的数组包含每类问题的随机数问题。现在我想要的是,我想在数组的末尾添加一个条目“你自己的问题”,以便最后一行选择器显示“你自己的问题”。我该怎么做

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
    UILabel *retval = (id)view;
    if (!retval) {
        retval= [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)];
    }

   // retval.text = [idAndNameArray objectAtIndex:row];
    if([pickerType isEqualToString:@"picker"])
    {
        retval.text = [idAndNameArray objectAtIndex:row];
    }
    else
    {
        retval.text = [quesArray objectAtIndex:row];
    }
    retval.font = [UIFont boldSystemFontOfSize:14];
    retval.numberOfLines = 3;
    return retval;
}

此代码仅显示从Web服务获取的行数(问题)。

编辑1:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView
{

    return 1;
}

- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component
{
    if([pickerType isEqualToString:@"picker"])
    {
        return [idAndNameArray count];
    }
    else
    {
       return [quesArray count];
    }

}

编辑2:

通过使用我的自定义对象“您自己的问题”创建另一个NSMutableArray,然后将其附加到从Web服务获取的数组

NSMutableArray *customObj = [NSMutableArray arrayWithObject: @"test"];
 [quesArray addObjectsFromArray:customObj];

1 个答案:

答案 0 :(得分:1)

在名为UIPickerViewDataSource的{​​{1}}方法中,返回数组的计数加上一个值(pickerView:numberOfRowsInComponent:),并在已实施的return arr.count+1;方法中返回您的标签UIPickerVIewDelegate大于componentarr.count-1)时的文字。祝你好运!

修改

if(row>(arr-1)){//return the label with 'Your own question'}