我一直在研究我的objective-c和我正在处理UIInterpolatingMotionEffect对象的练习之一。该类的2个属性为minimumRelativeValue
和maximumRelativeValue
。在练习中,他们将它们作为以下内容:
motionEffect.minimumRelativeValue = @(-25);
motionEffect.maximumRelativeValue = @(25);
我知道在obj-c中你使用@代表(来自维基百科):
Used to avoid taking english words and making them reserved (for example, you can't have a variable called float in C/Objective-C because this is a reserved word).
话虽如此,在上面的例子中使用@(-25)
和(-25)
之间的区别是什么?
答案 0 :(得分:3)
[NSNumber numberWithInt:25];
在某些情况下,您必须使用NSNumber包装数字。例如,您无法向NSArray / NSMutableArray添加数字。
您可以在此处阅读有关Objective C文字的更多信息https://www.mikeash.com/pyblog/friday-qa-2012-06-22-objective-c-literals.html
答案 1 :(得分:3)
( - 25)只有-25左右括号。您可以在没有(或有时更改)其值的情况下向大量数字或逻辑事件添加支持。
@是objective-c中的对象创建快捷方式之一。在这种情况下,它相当于@ -25(坦率地说,我不确定这里是否需要括号因为减号),相当于[NSNumber numberWithInt:-25]。
在此处查看更多内容:http://clang.llvm.org/docs/ObjectiveCLiterals.html