如何设置数组数据Tableview First Section中的第一个值和iOS中tableview的第二部分中剩余的数组数据值?

时间:2014-11-04 06:07:25

标签: ios json uitableview

我是iOS的新手,我知道这个问题已被多次询问但是我没有得到解决方案。我在这里制作了一个带有tableview的应用程序是我的tableview代码包含两个部分,我想用JSON数据填充这一部分。我做了两个CustomCell。它显示效果不错但我无法填充我的JSON解析数据。

我的代码是。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0)
{
    static NSString *CellIdentifierOne=@"CellOne";
    CustumCell *cellOne =[tableView dequeueReusableCellWithIdentifier:CellIdentifierOne];
    if (cellOne == nil)
    {
        NSArray *nibOne=[[NSBundle mainBundle]loadNibNamed:@"CustumCell" owner:self options:nil];
        cellOne=[nibOne objectAtIndex:0];
        cellOne.userInteractionEnabled=NO;
    }
    {
        [cellOne.spinner startAnimating];
        NSDictionary *dict = [self.imageArray objectAtIndex:indexPath.section];
        NSString *img2=[dict valueForKey:@"front_image"];
        [cellOne.storeImage sd_setImageWithURL:[NSURL URLWithString:[img2 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]] placeholderImage:[UIImage imageNamed:@"Setting.png"] options:SDWebImageHighPriority completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL)
         {
             [cellOne.spinner stopAnimating];
             cellOne.spinner.hidesWhenStopped=YES;

         }];
}
    return cellOne;
}
else
{
    static NSString *CellIdentifierTwo=@"CellTwo";
    TableCell *cellTwo=[tableView dequeueReusableCellWithIdentifier:CellIdentifierTwo];
    if (cellTwo == nil)
    {
        NSArray *nibTwo=[[NSBundle mainBundle]loadNibNamed:@"TableCell" owner:self options:nil];
        cellTwo=[nibTwo objectAtIndex:0];
        cellTwo.userInteractionEnabled=NO;
    }
    return cellTwo;
}
return nil;
}

此处Tableview部分为Two,而numberofRow的代码为

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section == 0)
{
    return 1;
    NSLog(@"Images %@",self.imageArray);
}
else
{
    return self.imageArray.count - 1;
}
}

当没有任何数据时,它显示我想要的,但我无法填写我的数据请提供给我任何解决方案。

1 个答案:

答案 0 :(得分:1)

@AshishGabani

查看以下代码,我理解您的要求

我接受了一个数组,包含这样的值

NSMutableArray * imageArray = [[NSMutableArray alloc] initWithObjects:@“1”,@“2”,@“3”,nil];

下一个TableView方法:

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (section==0) return 1;
    return imageArray.count-1;

}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 2;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    static NSString *simpleTableIdentifier = @"Simple";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }
    if(indexPath.section==0) {
        cell.textLabel.text = [imageArray objectAtIndex:indexPath.row];

    } else {
        cell.textLabel.text = [imageArray objectAtIndex:indexPath.row+1];

    }
    return cell;

}

只需评论您现有的代码并复制此代码并粘贴您的Xcode ViewController并运行模拟器,我想我达到了您的要求。