例如,

CABasicAnimation *rotate = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
[rotate setToValue:@(M_PI)];
[rotate setDuration:0.1f];
[[aView layer] addAnimation:rotate forKey:@"myRotationAnimation"];

其中M_PImath.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/

10-09 02:22