您的位置:首页 > 其它

010.Class variable 类变量(模拟)

2015-10-27 16:55 204 查看
---------------  main.m  ---------------

#import <Foundation/Foundation.h>

@interface FKUser : NSObject

+ (NSString*) nation;                        // 用于获取类变量

+ (void) setNation: (NSString*) newNation; 
 // 用于修改类变量

@end

@implementation FKUser
static NSString* nation = nil;

+ (NSString*) nation

{

     return nation;

}

+ (void) setNation: (NSString*) newNation

{

     if(![nation isEqualToString: newNation])

     {

          nation = newNation;

     }

}

@end

int main()

{

    [FKUser setNation:@"中国"]; // 为FKUser的类变量赋值

    NSLog(@"FKUser的nation类变量为:%@",
[FKUser nation]); // 访问FKUser的类变量

}

一、编写本节代码的具体步骤:

1.可仿照第二章001节的代码编写步骤。可以把类的接口文件,类的实现文件写在main.m文件中。

二、本节代码涉及到的知识点:

1.OC并不支持类似于Java的类变量。

2.但我们可以通过内部全局变量来模拟类变量。

3.用static修饰全局变量,可限制该全局变量只能在当前源文件中使用。

4.为了模拟类变量,可以在@implementation部分定义一个用static修饰的全局变量,

  并提供一个类方法来暴露该全局变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: