我刚刚了解了在使用GCC编译时可以使用的__unused标志,我了解的越多,我的问题就越多......
为什么编译没有警告/错误?我特意告诉编译器我不会使用变量似乎很奇怪,然后当我使用它时,事情正常进行.
- (void)viewDidLoad
{
[super viewDidLoad];
[self foo:0];
}
- (void)foo:(NSInteger)__unused myInt
{
myInt++;
NSLog(@"myInt: %d", myInt); // Logs '1'
}
Run Code Online (Sandbox Code Playgroud)
另外,以下两种方法签名之间有什么区别?
- (void)foo:(NSInteger)__unused myInt;
- (void)foo:(NSInteger)myInt __unused;
Run Code Online (Sandbox Code Playgroud)