例如,
CABasicAnimation *rotate = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
[rotate setToValue:@(M_PI)];
[rotate setDuration:0.1f];
[[aView layer] addAnimation:rotate forKey:@"myRotationAnimation"];
其中
M_PI
在math.h
中定义为宏,#define M_PI 3.14159265358979323846264338327950288 /* pi */
最佳答案
它是指向NSNumber
对象的指针。之所以称其为框式文字,是因为心理思维是将表达式的基本值放入一个“盒子”(即一个对象)中。
如有疑问,请参见official documentation。请注意,指针可以是“真实的” NSNumber
对象,也可以(理论上不知道这在实际中是否可行)是带有标签的指针(例如,my question)。
请注意,您还可以执行诸如@"string"
和@5
之类的操作,这些操作将在编译时创建常量。但是您需要括号才能使用非文字的内容,例如@(2 + 3)
。括号形式可以用于任何表达式,即使是那些编译器在编译时无法计算的表达式(尽管可以的话,也会将表达式结果放入代码中)。
关于objective-c - @()在Objective-C中是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21084156/