黑马程序员技术交流社区

标题: 关于点语法和get方法 求大神指导 [打印本页]

作者: wslinke    时间: 2015-4-15 00:17
标题: 关于点语法和get方法 求大神指导
本帖最后由 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. }
复制代码




作者: Errors    时间: 2015-4-15 07:31
如果没记错的话要把点前面的一坨东东强转为UILabel *类型吧
作者: wslinke    时间: 2015-4-15 10:02
Errors 发表于 2015-4-15 07:31
如果没记错的话要把点前面的一坨东东强转为UILabel *类型吧

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

果然可以了
作者: Errors    时间: 2015-4-15 10:58
[[[sender superview] subviews][1] text];这样也行,原因是[[sender superview] subviews][1]返回的时id对象。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2