我有这样的情况,我需要在第一个视图控制器中的按钮单击上发送文本字段值到第二个视图控制器并在tableview中显示,但在带有代码的第二个视图控制器中没有显示
viewcontroller.h
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UITextField *textfiled;
@end
viewcontroller.m
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NextViewController*nxt=segue.destinationViewController;
nxt.sr=_textfiled.text;
}
NextviewController.h
@interface NextViewController : UIViewController
@property (strong,nonatomic)NSMutableArray*arr;
@property (strong, nonatomic) IBOutlet UITableView *table;
@property(strong,nonatomic) NSString*sr;
Nextviewcontroller.m
@interface NextViewController ()<UITableViewDataSource>
//@property(strong,nonatomic)NSMutableArray*finalarr;
@end
@implementation NextViewController
- (void)viewDidLoad {
[super viewDidLoad];
[_arr addObject:_sr];
[_table reloadData];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return _arr.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@"cell"];
cell.textLabel.text=[_arr objectAtIndex:indexPath.row];
return cell;
}
答案 0 :(得分:0)
您可以使用nsuserdefaults在网络中传递cookie或会话
答案 1 :(得分:0)
//The below should not be used in prepare segue.use in any button action.
if(!secondVC) {
secondVC = [UIStoryboard storyboardWithName:@"Main"
bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"SecondVCIdetifier"];
}
secondVC.tempString = tf.text;
[self presentViewController:secondVC animated:YES completion:nil];
答案 2 :(得分:0)
首先看[_arr addObject:_sr];
。查看_sr值是否为空。如果是,那么您的问题就在于之前,如果没有,您的问题就在之后。
从那时起,您将能够确定确切的问题。从快速阅读开始,我要么说你要么根本没有得到字符串数据,要么就是没有使用segue,因此不会调用prepareforsegue。
学习使用断点。如果你没有&#39;知道如何,查找它,它非常简单,占你工作的70%。
只有这样的建议,你才能解决问题,还有更多问题要解决。