次のプログラムを実行すると、Sum = 0
. しかし、 he ステートメントint a = 5
とを移動するとint b = 6 inside -(int)sum {...}
、出力は 11 になります。2 番目のケースで正しい解が得られる理由は確かに理解できます。Sum = 0
しかし、変数と同じ名前でグローバル変数を定義すると、なぜ取得するの@property
でしょうか? @property
コンパイラは、グローバル変数よりも変数を優先しますか?
// newFunction.h:
@interface newFunction : NSObject
@property int a,b;
-(int)sum;
@end
// newFunction.m
@implementation newFunction
@synthesize a,b;
int a = 5;
int b = 6;
-(int)sum
{
return (a+b);
}
@end
//main.m
@autoreleasepool {
newFunction *var1 = [[newFunction alloc] init];
NSLog(@"Sum = %i", [var1 sum]);
}