A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 wslinke 于 2015-4-17 14:34 编辑
  1. - (void)click:(UIButton *)sender
  2. {
  3.     NSLog(@"%@",[[sender superview] subviews][1].text);
  4. }
复制代码
我的想法是通过点击一个button执行这个click方法,获取button所在的父视图中的另外一个子视图(UILabel)的text属性[[sender superview] subviews][1]就是UILabel,但是用上面的代码XCODE会报错 无法运行,用下面的get方法却可以正常实现功能,有没有大神能指点下我
  1. - (void)click:(UIButton *)sender
  2. {
  3.     NSLog(@"%@",[[[sender superview] subviews][1] text]);
  4. }
复制代码



3 个回复

倒序浏览
如果没记错的话要把点前面的一坨东东强转为UILabel *类型吧
回复 使用道具 举报
Errors 发表于 2015-4-15 07:31
如果没记错的话要把点前面的一坨东东强转为UILabel *类型吧

改成这样
  1. infoLabel.text = ((UILabel *)[[sender superview] subviews][1]).text;
复制代码

果然可以了
回复 使用道具 举报
[[[sender superview] subviews][1] text];这样也行,原因是[[sender superview] subviews][1]返回的时id对象。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马