我只想将UITableViewCell的标签(这是一个简单的字符串)复制到nextView的UIlabel中。
我尝试在nextView中创建一个字符串属性,并将其传递给单元格标签,
但这不起作用。
我在nextView中得到零,
这是为什么?这是我的didSelectRowAtIndexPath方法
在rootViewController.m中
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *selLabel =[tempArray objectAtIndex:indexPath.row];
DetailViewController *detailViewCont=[[DetailViewController alloc]initWithNibName:@"DetailViewController" bundle:nil];
detailViewCont.selectedLabel=selLabel;
[self.navigationController pushViewController:detailViewCont animated:YES];
NSLog(@"selected Label %@",detailViewCont.selectedLabel);
}
最后的NSlog语句在此处返回正确的字符串。
在nextViewController.m中
-(void)viewDidLoad
{
[super viewDidLoad];
selectedLabel=[[NSString alloc]init];
UILabel *label1=[[UILabel alloc]init];
label1.frame=CGRectMake(5,5,310, 60);
label1.font=[UIFont fontWithName:@"Arial Black" size:20];
label1.text=selectedLabel;
NSLog(@"sellabel %@",selectedLabel);
[self.View addSubview:label1];
}
NSLog语句在这里返回null
最佳答案
从您的viewDidLoad
方法中删除以下行:
selectedLabel=[[NSString alloc]init];
这是清除您从另一个视图控制器设置的值。
这行:
label1.text=selectedLabel;
确实应该是:
label1.text = self.selectedLabel;
您设置一个属性,使用它。