zoukankan      html  css  js  c++  java
  • IOS的变量前加extern和static字段

    IOS的变量前加extern和static字段

    前一阵子,做项目的时候到网上找Demo,打开运行的时候发现其中变量前有关键字extern和static,所以我研究了一下子

       对于extern来说可以理解为扩展吧是这样的是从一个类扩展到另一个类中的

    在SplashViewController.m中定义一个变量是这样的

    #import "SplashViewController.h"

    NSString* meString=@"123";

    @implementation SplashViewController

    // NSString* meString=@"123";

    .................

    这两 个地方都行

    如果在另外的类iTennisViewController.m中要用到这个类中的meString时只需在iTennisViewController.m中写成这样

    #import "iTennisViewController.h"

    extern NSString* meString;

    @implementation iTennisViewController

    即可

    这样你在iTennisViewController.m中直接打印meString,你会发现 是123,当然你也可以对meString重新斌值 ,就是说meString虽然定义在SplashViewController.m中但好像是公共的,也称为全局变量吧

    对于static修饰的变量

    #import "SecondViewController.h"

    static int count;

    @implementation SecondViewController;

    .......

    -(void)viewWillAppear:(BOOL)animated

    {

        [super viewWillAppear:animated];

         NSLog(@"viewWillAppear is %d",count);

        count+=1;

    }

    这样你每进入一次界面就会发现count加1

    除非程序完全退出重启,count才会清除,objective-c中用static修饰的变量和java中的静态变量是有区别的,其不能通过类名直接访问,当然你想直接访问也是能实现的在.m中写一个类方法反回count就行了,而且其作用域是其本类,不能扩展到其他类中

    今天就写到这了

    请大家多多指教

  • 相关阅读:
    POJ 1251 Jungle Roads
    1111 Online Map (30 分)
    1122 Hamiltonian Cycle (25 分)
    POJ 2560 Freckles
    1087 All Roads Lead to Rome (30 分)
    1072 Gas Station (30 分)
    1018 Public Bike Management (30 分)
    1030 Travel Plan (30 分)
    22. bootstrap组件#巨幕和旋转图标
    3. Spring配置文件
  • 原文地址:https://www.cnblogs.com/wskgjmhh/p/4860480.html
Copyright © 2011-2022 走看看