OC

Knowledge OS
登录 注册
全部话题 移民 创业 iOS Mac Objective-C Swift Android 招聘 求职

iOS 中关于代码嵌套的问题

shifeng310
shifeng310 发布于 2014年02月21日
无人欣赏。

在网上下了一段源码,其中有一段语法看不懂,关于代码嵌套的,

[scrollView addSubview:({
 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, CHTwitterCoverViewHeight, self.view.bounds.size.width - 40, 358 - CHTwitterCoverViewHeight)];
 label.numberOfLines = 0;
 label.font = [UIFont systemFontOfSize:22];
 label.text = @"hello world";
 label;
})];

这样就在scrollView 中添加了个view,最后一行代码看不懂,就一个"label",不是"return label"吗? 个人理解是新开辟了一块内存,创建了一个label 那 指针呢,怎么返回给scrollView的? 各位老师请指点

共12条回复
楼长 ·
指针为空 回复于 2014年02月21日

啊,最讨厌这样写代码的了。

我团队要是谁这么写的话,我一定会骂回去重写的

2楼 ·
cenphoenix 回复于 2014年02月21日

这么写,直接拖出去砍了

3楼 ·
isaced 回复于 2014年02月21日

这段代码前两天我还刚看过,当时猜想就和C语言中的括号表达式取最后一个","的值一个道理吧

比如这句: NSLog(@"%@",(@"a",@"b",@"c")); 虽然报了警告,但还是输出了c

4楼 ·
isaced 回复于 2014年02月21日

事实跟我想的应该没错,再看个例子:

NSString *s = ({
 @"a";
 @"b";
 @"c";
});
NSLog(@"%@",s);

输出:c

5楼 ·
shifeng310 回复于 2014年02月21日

1楼 @指针为空 网上下的demo 我也不会这么飘逸的写

6楼 ·
shifeng310 回复于 2014年02月21日

4楼 @isaced 这。。。是什么语法原理啊

7楼 ·
指针为空 回复于 2014年02月21日

4楼 @isaced 这代码其实就是,s先被赋值为a,然后被赋值为b,然后被赋值为c。。。。

8楼 ·
isaced 回复于 2014年02月21日

7楼 @指针为空 啊,不是直接赋值成c?那这样呢?NSString *s = (@"a",@"b",@"c"); NSLog(@"%@",s);

9楼 ·
isaced 回复于 2014年02月21日

7楼 @指针为空 那我监控它的setter方法,实际只调了一次,c,两种都是。

10楼 ·
指针为空 回复于 2014年02月21日

9楼 @isaced 竟然不是这样的??搞不懂了。。。我查查去

本帖有12个回复,因为您没有注册或者登录本站,所以只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。
登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]

AltStyle によって変換されたページ (->オリジナル) /