什么是Objective-C中等同于空Swift OptionSet的内容?

3
请看下面这段简单的 Swift 代码:

UIView.animate(withDuration: duration, delay: interButtonDelay * Double(expanding ? index : index + 1), options: [], animations: {
            button.transform = expanding ? .init(scaleX: self.scale, y: self.scale) : .identity
            button.alpha = expanding ? 0.0 : 1.0
        }, completion: nil)

这里将一个空数组传递到options参数中。我想了解在Objective-C中正确的等效做法是什么。我认为应该是传递0,但我想确保。不幸的是文档没有提供任何相关信息。


C枚举类型是整型,因此0是可以作为有效值传递的。 - Mindaugas
1个回答

8

Swift的OptionSet旨在使位掩码更加易于使用。在Swift中,您将组合值拼写为集合,而在Objective-C中,则是使用按位运算符构建的整数值:

NSUInteger options = UIViewAnimationOptionLayoutSubviews | UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveEaseOut;

因此,Objective-C中等效于空的OptionSet实际上就是0。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接