【发布时间】:2015-06-01 18:02:03
【问题描述】:
以下表达式在 Swift 中是什么意思:
[wordmarkFrameAnimation addKeyFrames:@[
({
IFTTTAnimationKeyFrame *keyFrame = [IFTTTAnimationKeyFrame keyFrameWithTime:timeForPage(1) andFrame:CGRectOffset(self.wordmark.frame, 200, 0)];
keyFrame.easingFunction = IFTTTEasingFunctionEaseInQuart;
keyFrame;
}),
]];
我知道外部是一个数组(@[...]),但是以({ 开头并以}) 结尾的部分是什么意思?
【问题讨论】:
-
我不明白这个问题
-
这是 Obj-C 中从表达式创建数组的一种迂回方式,其中表达式派生自作用域块
{...}。范围的最后一条语句:keyFrame形成表达式的值(尽管我没有使用或测试过它)。如果您想在 Swift 中使用类似的形式,您可以(我认为)将({...})替换为内联闭包的执行,形式为:'{... keyFrame stuff in here... }()'
标签: ios objective-c swift