Instance variables 实例变量

实例变量有一点像 Swift 里的属性,但是在 Objective-C 里面更简单一些。

它是一个很好的学习切入点,所以我们就从这里开始啦~

我们再来调整一下 Person.h 文件里面的 Person 类,给它加上一个 name 实例变量:

@interface Person : NSObject {
    @public
    NSString *name;
}

- (void)printGreeting;
@end

同时我也重写了 printGreeting 方法,它现在已经不用不需要任何的参数了。我们等一下就可以把实例变量用进去。

但是首先呢,我们还是要来仔细的看一下它的语法。

当我们创建一个实例变量的时候,我们需要一对花括号,写在 @interface 这一行后面,然后把你需要的实例变量依次列出来花括号里。你需要声明它的数据类型和变量名称,确实有一点像我们在 Swift 里写属性。

但是请注意,我在前面写了一个 @public,如果不写这个的话,它就不再是一个全局的变量了,只能在这个类的内部被访问到。

接着,到 Person.m 文件里来重写一下 printGreeting 方法:

@implementation Person
- (void)printGreeting {
    NSLog(@"Hello, %@!", name);
} @end

如果你要在 main.m 给这个实例变量赋值的话,你需要用到 -> 这个符号:

Person *person = [Person new];
person->name = @"Taylor";
[person printGreeting];

results matching ""

    No results matching ""