gpt4 book ai didi

ios - Objective-C语法问题

转载 作者:太空宇宙 更新时间:2023-11-04 01:04:05 24 4
gpt4 key购买 nike

我在这个博客上找到了这段代码 http://themainthread.com/blog/2014/02/building-a-universal-app.html

static void initSimpleView(SimpleView *self) {
// Configure default properties of your view and initialize any subviews
self.backgroundColor = [UIColor clearColor];

self.imageView = ({
UIImageView *imageView = [[UIImageView alloc] init];
imageView.translatesAutoresizingMaskIntoConstraints = NO;
[self addSubview:imageView];
imageView;
});

self.label = ({
UILabel *label = [[UILabel alloc] init];
label.translatesAutoresizingMaskIntoConstraints = NO;
[self addSubview:label];
label;
});
}

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
initSimpleView(self);
}
return self;
}

它是如何工作的?static void initWithSimpleView(SimpleView *self) 是什么意思?为什么 imageViewlabel 在某种 block 中初始化?

最佳答案

此代码声明了一个名为 initSimpleView 的 C 函数。名称 initSimpleView 仅在文件中可见,因为它被声明为 static

({ ... }) 是一个称为“语句表达式”的 GNU C 扩展。您可以找到有关此用法的更多详细信息 in this Q&A .

关于ios - Objective-C语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28114749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com