gpt4 book ai didi

ios - Swift 等效于 Objective-C 表达式?

转载 作者:搜寻专家 更新时间:2023-11-01 06:46:10 25 4
gpt4 key购买 nike

以下表达式在 Swift 中的含义是什么:

 [wordmarkFrameAnimation addKeyFrames:@[
({
IFTTTAnimationKeyFrame *keyFrame = [IFTTTAnimationKeyFrame keyFrameWithTime:timeForPage(1) andFrame:CGRectOffset(self.wordmark.frame, 200, 0)];
keyFrame.easingFunction = IFTTTEasingFunctionEaseInQuart;
keyFrame;
}),
]];

我知道外面的部分是一个数组 (@[...]) 但以 ({ 开头并以 } 结尾的部分是什么) 是什么意思?

最佳答案

与 Swift 不同,Objective-C - 因为它是 C - 可以使用简单的大括号在任何地方创建局部作用域。此外,通过 GCC extension to the C language , 当花括号本身被圆括号括起来时,这个作用域可用于生成一个值——即花括号中的最后一个表达式。因此,这是一种内联定义、配置和返回 keyFrame 的方法。

因此,要理解 Swift 术语中的含义,请将其大致等同于此类事物,这实际上是一种相当常见的 Swift 习语(我称之为 define-and-call ):

let arr : [UIView] = [
{
let v = UIView(frame:CGRectMake(0,0,100,100))
v.opaque = true
v.backgroundColor = UIColor.redColor()
return v
}()
]

关于ios - Swift 等效于 Objective-C 表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30580161/

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