【发布时间】:2013-01-06 23:37:17
【问题描述】:
我已经使用 Objective C 好几年了,但我不知道 @ 符号可以这样使用(for 循环内的第 6 行):
- (void)encodeWithCoder:(NSCoder *)coder
{
[coder encodeInteger:mti forKey:@"mti"];
NSMutableArray *arr = [NSMutableArray arrayWithCapacity:N];
for (int i = 0; i < N; i++)
[arr addObject:@(mt[i])];
[coder encodeObject:arr forKey:@"mt"];
}
这是什么意思?令人惊讶的是我可以删除它并且编译器没有抱怨并且代码看起来工作正常?!
这是 MTRandom https://github.com/preble/MTRandom/blob/master/MTRandom/MTRandom.m#L115 的一部分
【问题讨论】:
-
这是一个新的符号——创建一个 NSNumber。也有类似的符号来创建 NSArrays 和 NSDictionaries。
-
您现在还可以使用
[]来索引 NSArray 或在 NSDictionary 中查找对象。
标签: objective-c at-sign