TextView不会更新TableView

时间:2016-03-21 13:35:36

标签: ios

我在StackOverflow上受到了另一个人的帮助,他们向我展示了一个示例,允许我在UITextView中放置文本,然后自动显示在UITableView中。它在他身边工作得很好,但由于某种原因,在我身边没有任何事情发生。

继承代码。

·H

@interface ViewController : UIViewController <UITableViewDataSource,UITableViewDelegate,UITextViewDelegate>
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (weak, nonatomic) IBOutlet UITextView *txtView;

的.m

@interface ViewController ()<UITableViewDataSource,UITableViewDelegate,UITextViewDelegate> {

NSMutableArray *listArray;
 }

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
 }
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{

return 1;
}

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

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}


cell.textLabel.text = [NSString stringWithFormat:@"%@",[listArray objectAtIndex:indexPath.row]];;

return cell;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

return listArray.count;
}

-(void)textViewDidChange:(UITextView *)textView{

listArray=[[NSMutableArray alloc]initWithArray:[textView.text componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]];
[self.tableView reloadData];

NSLog(@"Array-- %@",listArray);

NSLog(@"Array Count-- %lu",(unsigned long)listArray.count);

NSLog(@"Text-- %@",textView.text);

}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

看起来你的问题是你的代表设置。您可以在viewDidLoad中以编程方式执行此操作:

- (void)viewDidLoad {
    [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    self.txtView.delegate = self;
}