使用pickerview填充tableview

时间:2015-04-06 18:46:22

标签: ios uitableview ios7 uipickerview

我有一个按钮,一个挑选视图和一个tableview。当我按下按钮时,当前选择的选择器视图将填入表格视图中。这是从pickerview中选择值的按钮代码

- (IBAction)addCourse:(UIButton *)sender {

    NSInteger numRow=[picker selectedRowInComponent:kNumComponent];//0=1st,1=2nd,etc
    NSInteger SeaRow=[picker selectedRowInComponent:kSeaComponent];//0=fall,1=spring,2=summer
    NSInteger CourseRow=[picker selectedRowInComponent:kCourseComponent];

    NSString *num=Number[numRow];
    NSString *season=Season[SeaRow];
    NSString *course=Course[CourseRow];

    NSString *msgCourse=[[NSString alloc ]initWithFormat:@"%@ ",course];
    NSString *msgSeason=[[NSString alloc ]initWithFormat:@"%@ ",season];
    NSString *msgYear=[[NSString alloc ]initWithFormat:@"%@ ",num];

}

然后我想把msgCourse等填充到我的tableview

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

 ...Content from above msgCourse and etc

    return cell;

}

如何解决我的第二部分的差距?或者任何看待的例子?

1 个答案:

答案 0 :(得分:1)

根据我对您问题的理解,检查以下代码,以确定是否符合您的要求。如果没有,请发表评论然后我会尽力跟进。

第一步:如果您还没有通过故事板进行委派,那么您应该首先以编程方式执行此操作:

  -(void)ViewDidLoad
  {  
    tableView.delegate = self;
    tableView.datasource = self;
   }

第二步:我没有在你的代码中看到过mutablearray,但我认为你要将msgCourse转换为NSMutableArray。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// I assume you have only one section
// Return the number of sections.
return 1;
}

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

// Return the number of rows in the section.
 return [self.msgCourse  count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell = nil;
    cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];

    if(!cell){
      cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"Cell"];
        }

    cell.textLabel.text=[self.msgCourse objectAtIndex:indexPath.row];
    return cell;
}

最后一步:顺便说一句,不要忘记将以下代码行添加到按钮操作中以重新加载tableView,我假设您更新了NSMutableArray并想刷新tableView。

- (IBAction)addCourse:(UIButton *)sender {
   .....
   .....
   .....
   [tableView reloadData];
}

这是一个很好的教程,为了学习而值得复制:http://www.appcoda.com/ios-programming-tutorial-create-a-simple-table-view-app/