在View控制器中设置表视图

时间:2014-01-23 22:11:35

标签: ios uitableview uiviewcontroller delegates

这是我的问题。我创建了一个视图控制器,并在其中插入了一个表视图(带有一个单元格)。我在视图控制器的底部还有一个文本字段。目的是将我在文本字段中写下的文本放入单元格中。我尝试了很多东西,但没有结果。 有人可以帮帮我吗?

这是我的代码(我无法显示NSLog)

My .h
@interface RBChatViewController : UIViewController<UITextFieldDelegate,UITableViewDelegate,UITableViewDataSource>


@property (strong, nonatomic) IBOutlet UITextField *entryTextField;
@property (strong, nonatomic) IBOutlet UITableView *tableview;

My .m
#import "RBChatViewController.h"

@interface RBChatViewController ()

@end

@implementation RBChatViewController


- (void)viewDidLoad
{
 [super viewDidLoad];
 self.entryTextField.delegate=self;
 self.tableview.delegate=self;
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
   NSLog(@" numberofsections");
   return 1;
}

2 个答案:

答案 0 :(得分:0)

然后你应该有tableView和textField属性, 您必须遵守delegate的{​​{1}}和datasource方法。在tableView中设置cellForRowAtIndexPath,然后从cell.titleLabel.text = self.textField.text调用[tableView reloadata];,或者如果您有一些按钮,则在该按钮操作中添加重新加载代码。

答案 1 :(得分:0)

如果没有看到您的代码,很难告诉您发生了什么,但这段代码应该有用。

-(void)addTextToTable {
    //method runs when you push a button to say i am done writing in text field

    NSString *textFeildText = self.textFeild.text;  //create string of textfeild text
    [self.mutableArray addObject:textFeildText];  //add string to dataSource array
    [self.table reloadData];  // update table with new data to show the new string that is created
}

编辑以下是您需要添加的内容。

       My .h
    @interface RBChatViewController :                          UIViewController<UITextFieldDelegate,UITableViewDelegate,UITableViewDataSource>


    @property (strong, nonatomic) IBOutlet UITextField *entryTextField;
    @property (strong, nonatomic) IBOutlet UITableView *tableview;
    @property (nonatomic) NSMutableArray *mutArray;  // array of object that will be in the tableview

     My .m
    #import "RBChatViewController.h"

    @interface RBChatViewController ()

    @end

    @implementation RBChatViewController


    - (void)viewDidLoad
    {
     [super viewDidLoad];
     self.entryTextField.delegate=self;
     self.tableview.delegate=self;
     self.tableview.dataDelegate = self;  // ADD THIS, this means that the data for the          tableview is gather from here  This will also display your NSLog
    _mutArray = [[NSMutableArray alloc] init];  //create your mutable array
    }

    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
       NSLog(@" numberofsections");
       return 1;
    }

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        //tells how many rows in your tableview based on object in array
        return _mutArray.count;

    }




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

        static NSString *CellIdentifier = @"Cell";

        UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];

       NSString *string = [_mutArray objectAtIndex:indexPath.row];

        cell.textLabel.text = string;


     return cell;

    }