zoukankan      html  css  js  c++  java
  • ObjectiveC中的static变量

    Java 、 C++ 语言中,在某个类中声明一个static 静态变量, 其他类中想使用它或者修改它 ,可以使用这个类的类名直接获得这个静态变量的对象,并且可以在其他类中任意修改这个变量的数值。 

    在Objective-C 中,声明的static静态变量在其他类中是不能通过类名直接访问的,它的作用域只能是在声明的这个.m文件中 。但是可以调用类的静态方法间接的修改静态变量的值。

    也就是说不能在.h文件中声明static变量,例如下面两种情况都是错的,是编译不过的

    @interface  MyClass
    {
          static  int totalNum;
    }
    @end
    
    或者
    
    static int totalNum;
    @interface MyClass
    @end

    但是可以再@implement 中声明static变量,或者之外都可以。

    静态变量在oc中常用作单例模式中,因为可以常驻内存。例如打开一个页面,发起一个请求,立即关掉页面,但是想请求处理依然可以完成,可以把数据请求和解析写成一个单例。 但是请求处理完成之后,在恰当的时机就该清除这个静态对象,以便节省内存。

  • 相关阅读:
    Spring学习之声明式事物管理
    SSH整合所需jar
    Spring学习之AOP
    常见MyEclipse报错—— serialVersionUID的作用
    Spring学习之基本概念
    Java基础——I/O续
    Java基础——I/O
    Vim学习总结
    Java基础——异常处理
    Git 学习总结
  • 原文地址:https://www.cnblogs.com/wilma/p/2842206.html
Copyright © 2011-2022 走看看