object-c的静态变量(static)
object-c的"+"类似于C++中的静态函数,它可以访问由static声明的变量。实例如下:
1. 代码:
//ClassA.h
#import <Foundation/NSObject.h>
static int count;
@interface ClassA: NSObject
+(int) initCount;
+(void) initialize;
@end
////ClassA.m
#import "ClassA.h"
@implementation ClassA
-(id) init {
self = [super init];
count++;
return self;
}
+(int) initCount {
return count;
}
+(void) initialize {
count = 0;
}
@end
//main.m
#import "ClassA.h"
#import <stdio.h>
int main( int argc, const char *argv[] ) {
ClassA *c1 = [[ClassA alloc] init];
ClassA *c2 = [[ClassA alloc] init];
// print count
printf( "ClassA count: %i\n", [ClassA initCount] );
ClassA *c3 = [[ClassA alloc] init];
// print count again
printf( "ClassA count: %i\n", [ClassA initCount] );
[c1 release];
[c2 release];
[c3 release];
return 0;
}
运行结果:
ClassA count: 2
ClassA count: 3
2.说明:
(1)initialize 是被自动调用的,而且只调用一次;
(2)initCount可以访问count。
object-c的静态变量(static)相关推荐
- 静态变量static(C)
static static是C语言关键字之一. static 数据类型用来给变量创建永久存储空间.静态变量在函数间调用时保持他们的值不变. 它的语法结构为: static c_type data_na ...
- 静态变量(static variable)
静态变量(static variable) 我们可以创建具有 块作用域.无链接.静态存储期 的局部静态变量.其与局部自动变量一样,具有相同的作用域,但是程序在离开它们所在函数后,静态变量不会消失,在多 ...
- java 静态全局变量_静态变量static和全局变量global
静态变量static , 全局变量global 静态变量 在java也叫类变量从名字可以看出它是属于某个类的而不是类的实例.它的关键字是static存储在静态存储区,当程序执行,类的代码被加载到内存, ...
- Systemverilog 静态变量 (static) 与 动态变量(automatic) 区别
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 静态变量 Static 动态变量 Automatic 一.静态变量和动态变量的定义 二.静态变量与动态变量应用举例 总结 静 ...
- C语言静态变量static的分析
对C语言静态变量static分析,解释了static为什么在局部变量里面定义的时候不会随着函数执行完毕而销毁,也稍微用解释了静态存储区和动态存储区的小知识 文章目录 学习static前要先认识 sta ...
- 静态变量static的理解
static static是C语言关键字之一. static 数据类型用来给变量创建永久存储空间.静态变量在函数间调用时保持他们的值不变. 它的语法结构为: static c_type data_na ...
- c++ 类中静态变量 static
类中的静态变量 由于声明为static的变量只被初始化一次,因为它们在单独的静态存储中分配了空间,因此类中的静态变量由对象共享.对于不同的对象,不能有相同静态变量的多个副本.也是因为这个原因,静态变量 ...
- php的静态变量static在函数内部
静态变量放在函数内 <?phpheader('content-type:text/html;charset=utf-8');function fun(){static $num=1;$num++ ...
- 搞懂静态变量static
文章目录 1.什么是static? 2.static关键字的作用是什么? 3.静态变量和非静态变量的区别? 4.static可以修饰局部变量吗? 5.可以通过this访问静态变量吗? 6.静态方法能否 ...
- Java中的类变量(静态变量static的具体用法快速入门))
文章目录 问题分析 修改过后的代码 运行结果 先看一段代码 package study_static;public class Childgame {public static void main(S ...
最新文章
- 爱创课堂每日一题第五十二天- js延迟加载的方式有哪些?
- jackson 反序列化string_java – 使用Jackson对数组进行反序列化
- [Python图像处理] 十.形态学之图像顶帽运算和黑帽运算
- EBB-4、忘记root密码;文件,目录权限
- android8 通知呼吸灯_手机呼吸灯那么好用!为什么要取消它?没有呼吸灯真的好吗?...
- 堆 堆栈 java_java的栈和堆
- 蓝天集团董事长郎凤娥专访
- The package lists or status file could not be parsed or opened.
- 实现深拷贝的常用方法
- sqlserver查询本周、上周、今天、昨天、本月、上月数据
- 清北学堂模拟赛d1t5 拍照(photo)
- Chrome快捷键, Mac 下 Chrome 浏览器 快捷键
- i2c-tools安装与使用总结
- 深度学习的视觉跟踪:一个全面的调查
- dxf转换html5,移动端CAD版本转换如何输出DXF格式-迅捷CAD转换器
- 【阿里云】视频点播开通与配置
- php spider视频教程,phpspider的简单使用
- JavaWeb项目间隔刷新出现412
- android听筒+扬声器自动切换,Android 听筒扬声器切换(多机型兼容、兼容5.0以上)...
- Transformer课程 业务对话机器人Rasa 3.x 生成自然语言理解NLU数据
热门文章
- JS原生读取 本地 JSON
- Pygame下载教程
- 基坑监测日报模板_静兴项目部工程日报(2020/7/7)
- java将录音转换成文字,除了把录音转换成文字,原来录音转文字助手还有这么多实用功能...
- python 坦克大战
- linux redis命令客户端,Redis客户端
- 《Redis开发与运维》学习第三章
- 11.3.3 BINARY 和 VARBINARY 类型
- 三星手機android6.01,三星SM-C7000固件刷机包6.01rom线刷包Root权限驱动
- win10打开蓝牙_WIN10蓝牙不能使用,开启蓝牙后不能识别到其它设备怎么办?