如何通过分段按钮在Tableview上重新加载字典单击使用目标C?

时间:2016-01-04 05:20:26

标签: ios objective-c uitableview

我需要使用两个按钮tableview创建一个UISegment control。我收到JSON两个arrays两个keys的回复buttons。对于这两个键,我创建了两个Schools。每当我单击一个段按钮,然后{table}将加载colleges个键值。每当我单击第二个分段按钮时需要加载第二个键值cell应重新加载tableview上的数据,我想让表 { "Schools" = { }; "colleges" = { A = { roll_no = 0; "name" = "SAMS"; }; B = { roll_no = 2; "name" = "SANF"; }; C = { roll_no = 3; "name" = "UDS"; }; } 点击以获取所有值的键。

我的回复:

- (IBAction)Click_Segmentbutton:(id)sender {

    switch (segment_Button.selectedSegmentIndex) {
        case 0:{

            [tableview reloadData];
            NSLog(@"SCHOOLS SELECTED");
            break;}
        case 1:{

            [tableview reloadData];
            NSLog(@"COLLEGES SELECTED");
            break;}
    }
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

     NSIndexPath *indexPath;
    if (indexPath.section == 0)
    {
        return [[savedUrl objectForKey:@"Schools"] count];
    }
    else
    {
        return [[savedUrl objectForKey:@"colleges"] count];
    }
}

我的代码:

emailAddressEt.setImeOptions(EditorInfo.IME_ACTION_DONE);
        emailAddressEt.setOnEditorActionListener(new OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId,KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_DONE) {
            Intent intent = new Intent(this,NewActivity.class);
startActivity(intent);
                }
                return false;
            }
        });

1 个答案:

答案 0 :(得分:3)

您必须根据段索引更改数组计数。如下所示。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    if (segment_Button.selectedSegmentIndex == 0)
    {
        return [[savedUrl objectForKey:@"Schools"] count];
    }
    else
    {
        return [[savedUrl objectForKey:@"colleges"] count];
    }
}

cellForRowAtIndexPath方法中,也会更改您的数据源。