2 qwehemin qwehemin 于 2014.01.04 11:00 提问

急!传值传不过去,输出的值为null

有两个界面,第一个界面tableview

  • (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ PlayerViewController *playerVC=[[PlayerViewController alloc]init]; playerVC.link=@"ggggggggg"; [self presentViewController:playerVC animated:YES completion:nil]; }

第二个PlayerViewController :
@property (nonatomic,retain)NSString *link;

但是输出link却为null

13个回答

zhanglei5415
zhanglei5415   Rxr 2014.01.09 09:41

在viewDidLoad中访问self.link拿不到传递过去的值吗? 正常情况下是可以拿到传递过来的值的。

xiaofei125145
xiaofei125145   2014.10.27 14:58

你不会是在 init 或者 initwitiNib... 里面 打印的吧 ,如果是的话 肯定 为 null
init 执行的时候 ,你还没有赋值呢 ,写到 viewdidload 里面 应该是 没问题的

u012975076
u012975076   2014.02.11 09:07

你在哪打印的,我在- (void)viewDidLoad里打印没有问题

u010520912
u010520912   2014.04.23 23:47

看一下你的界面切换方式是否有问题,这是我项目里界面转换的代码,你可以参考一下
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
GoodsViewController *goodsView = [storyboard instantiateViewControllerWithIdentifier:@"GoodsViewController"];
sRThreeVCModel = [[SRThreeVCModel alloc]init];
goodsView.sRThreeVCModel = sRThreeVCModel;
[self presentViewController:goodsView animated:YES completion:nil];
两个controller都有srthreevcmodel属性
其中还要在GoodsViewController的UI那里设置StoryBoardId为“GoodsViewController”

ixcoder
ixcoder   2014.05.21 13:43

add method as follows:

forceSetLink(input)
{
link = input
}

liwenjie0912
liwenjie0912   2014.12.02 21:56

你的对象是局部变量 怎么可能拿到

baidu_21147995
baidu_21147995   2014.12.06 14:23

首先,你这个方法走了么,没走指定传不了呀

iOS_Seeker
iOS_Seeker   2015.01.29 09:44

肯定是在 init中打印的,还没走playerVC.link=@"ggggggggg"这句话呢,怎么可能有值

colouful987
colouful987   2015.03.17 17:14

你可以设断点在那个赋值语句,然后执行程序,是否会触发?假如你没有执行那段程序,自然数据也是没有的

sun823239245
sun823239245   2015.04.03 08:02

首先代码格式是这么写的吗?注意写代码的格式。
要是按照你这样写的话是不会有问题的。

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片