我在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);
}
感谢您的帮助。
答案 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;
}