Я только что узнал о знаке __unused, который можно использовать при компиляции с GCC, и чем больше я узнаю об этом, тем больше вопросов у меня есть...
Почему это компилируется без предупреждения/ошибки? Кажется странным, что я конкретно говорю компилятору, что не буду использовать переменную, а затем, когда я ее использую, все происходит как обычно.
- (void)viewDidLoad
{
[super viewDidLoad];
[self foo:0];
}
- (void)foo:(NSInteger)__unused myInt
{
myInt++;
NSLog(@"myInt: %d", myInt); // Logs '1'
}
Кроме того, в чем разница между следующими двумя сигнатурами метода?
- (void)foo:(NSInteger)__unused myInt;
- (void)foo:(NSInteger)myInt __unused;