在@interface的括号内外声明的变量

use*_*708 2 scope global-variables objective-c instance-variables variable-declaration

为什么你必须@interface像这样在括号内声明变量?

@interface myClass : UIViewController {
     NSString *myString;
     IBOutlet UILabel *myLabel;
}
Run Code Online (Sandbox Code Playgroud)

为什么不在这里呢?

@interface myClass : UIViewController {
     IBOutlet UILabel *myLabel;
}

NSString *myString;
Run Code Online (Sandbox Code Playgroud)

小智 5

因为如果不这样做,那么变量将是文件范围变量(具有静态存储持续时间),并且它不是类的实例变量.