object-c的静态变量(static)

C语言中static的用法与总结 详细介绍和总结说明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。

中图法第五版SQL,支持树形结构可直接导入使用 基于第五版中图法官方数据收集整理,效果图如下: 阅读详情

相关推荐

微信DAT图片恢复全攻略:从文件路径到批量解密(附最新工具下载)

本文详细介绍了微信DAT图片恢复的全过程,从文件路径定位到批量解密操作,帮助用户高效恢复加密存储的图片。文章涵盖新旧版本微信的存储结构差异,推荐使用专业解密工具进行批量转换,并提供了提升恢复成功率的实用技巧和常见问题解决方案。

weixin_29325007的博客 455

Objective-C中的作用域详解

我君哥说过“基础的知识再讨论也不为过”,想必很多人都深有体会。 在此就转一篇基础的文章,由于讲的比较详细,我就稍做整理,标注下重点,然后写点自己的理解(pending)。 原文地址:http://www.itivy.com/iphone/archive/2011/12/21/iphone-objective-c-scope.html 在Objective-C中,可

xml_eason的专栏 1294

绝缘检测是什么? 绝缘检测原理 绝缘检测检测的是什么?那个量?电压?电流?电阻?

绝缘电阻是电气设备和电气线路最基本的绝缘指标。对于低压电气装置的交接试验,常温下电动机、配电设备和配电线路的绝缘电阻不应低于0.5MΩ(对于运行中的设备和线路,绝缘电阻不应低于1MΩ/kV)。 绝缘电阻的正确测量方法 现代生活日新月异,人们一刻也离不开电。在用电过程中就存在着用电安全问题,在电器设备中,例如电机、电缆、家用电器等。 影响因素 环境温湿度 一般材料的绝缘电阻值随环境温湿度的升高而减小。相对而言,表面电阻(率)对环境湿度比较敏感,而体电阻(率)则对温度较为敏感。 湿度增加,表面泄漏增大,导体电导

dianqicyuyan的博客 2万+

ObjC学习5-变量和数据类型

1.控制变量作用域的指令 @protected 默认,可以被该类访问及任何子类方法调用 @private 可以在该类中访问,但不能不能在子类定义的方法直接访问 @public 可以被该类访问,也可以被其他类访问 @package 可以在实现该类的图像的任何地方访问这个实例变量 2.类的初始化 initWith @interface Fraction:NSObject...

xuela-net 306

AI 编程新范式:一文彻底搞懂 LLM、Agent、MCP、Skill 是怎么协作的

本文用通俗易懂的方式解析了AI编程新架构的核心概念。通过"三国演义"类比,文章将复杂的技术架构拆解为:Agent(军师/大脑)负责思考和决策,Skill(招式/手脚)执行具体操作,MCP(令箭/协议)作为通信标准,MCP Server(将军/身体)承载多个Skill。这套分工架构使AI从单纯聊天进化成能完成实际编程任务的全能助手,实现了关注点分离——Agent专注智能提升,Skill专注功能实现,MCP确保稳定连接。这正是Cursor、Claude等新一代AI开发工具采用的核心架构,标志

猫老板的豆 3077

避坑指南:CST粒子工作室Track Solver常见的5个参数设置错误

本文深入剖析了CST粒子工作室中Track Solver在电子枪仿真时常见的5个关键参数设置错误,包括空间电荷模型选择、发射源定义、材料边界处理、监视器配置及求解器稳定性设置。通过对比错误与正确做法,帮助用户避开陷阱,确保粒子追踪仿真的物理准确性与数值稳定性,从而获得更精准的电子枪仿真结果。

dapp9builder的博客 486

详解Objective-C中静态变量使用方法

Objective-C中静态变量使用方法是本文要介绍的内容,Objective-C 支持全局变量,主要有两种实现方式:第一种和C/C++中的一样,使用"extern"关键词;另外一种就是使用单例实现。(比如我们经常会把一个变量放在AppDelegate里面作为全局变量来访问,其中AppDelegate就是一个单例类) 在Objective-C中如何实现像C++中那样的静态成员变量呢?

lovenjoe的专栏 2万+

用逐飞STC32G库做个智能小车:编码器测速、PWM调电机、ADC读电池电压(完整项目)

本文详细介绍了如何使用逐飞科技的STC32G12K128开源库构建智能小车项目,涵盖编码器测速、PWM电机控制和电池电压监测等核心功能。通过硬件选型、开发环境搭建、代码实现及调试技巧的全流程讲解,帮助开发者快速掌握基于STC32G的嵌入式系统开发,实现高性能的智能小车控制。

weixin_42526417的博客 194

Objective-c 静态变量的定义

编程中定义一个全局可用的值是很常见的,比如我们要保存登录操作的接口地址、加密时的密钥等等。 这些东西当然也可以保存到数据库等地方。但总有各种各样的缺点。 保存到一个工具类的静态变量中有很多优点,比如使用方便、修改方便。我们可以直接通过调用该工具类的静态获取值方法获取到值。要修改一些值时,因为都保存在这个地方,很容易就能找到他,并且只需要修改一次。 说了那么多,OC到底是怎么定义静态变量的呢

刘宇(LY)个人笔记 1058

巡检机器人的基于ROS系统的任务管理架构设计总结

本文探讨了基于ROS(机器人操作系统)的工业巡检机器人任务管理架构设计,提出分层闭环方案。架构围绕稳、准、活、扩四大目标,分为感知层(多源数据融合)、调度层(智能决策)、执行层(动作控制)和数据层(存储交互)。关键技术包括ROS2实时性优化、功能包复用和多机器人协同调度。实践案例显示,该架构在电力巡检中使任务完成率达99%,在化工园区实现95%覆盖率。当前挑战包括SLAM地图漂移和多机通信延迟,未来可通过语义SLAM和区域通信优化。

start_up_go的博客 466

SAP 公司间采购简介

SAP公司间采购(Intercompany Procurement)是指企业集团内部不同法人实体之间的采购和销售流程。这种流程在跨国公司或有多个独立运营子公司的企业中非常常见。SAP提供了标准的功能来处理公司间采购,确保财务和物流流程的透明性和效率。以下是SAP公司间采购的基本流程及其相关模块的简介。

我小时候很黑的博客 1378

Objective-C中的静态变量

Objective c支持全局变量,用法和c/c++中相同。根据你的要求,这里用全局变量来实现并不合适。你需要做的是在A类的implementation文件中定义一 个static变量,然后为A类定义静态成员函数(class method)来操作该变量。这样在其它类中你就不需要创建A类的实例来对static变量进行访问。虽然该static变量并不是A类的静态成员变量, 但是也算达到了同样的效果。为什么不定义全局变量,关键就在于变量的作用域,static变量的作用域被限制在单一的文件中。代码可以如下所示://

Jiang Yazhou 的博客 1万+

多思计组实验实验六 微程序控制器实验

实验六 微程序控制器实验

qq_53089329的博客 3783

静态变量static(C)

static static是C语言关键字之一。 static 数据类型用来给变量创建永久存储空间。静态变量在函数间调用时保持他们的值不变。 它的语法结构为: static c_type data_name; 其中,c_type 为基础的数据类型,data_name是变量名。 生存期 生存期的概念是在程序执行过程中体现的。程序开始执行后,对所需要的变量申请空间,直至这个变量被销毁。这段时间便是一个...

ichliebecamb的博客 2万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C语言编程>第四周 ① 学习static定义静态变量的用法。

例题:学习static定义静态变量的用法。 代码如下: #include"stdio.h" void varfunc() { int var=0;//定义一个变量var static int static_var=0;//定义一个变量static_var printf("var =%d \n",var); printf("static var =%d \n",static_var); printf("\n"); var++; static_var++; } void main() { int

朽木自雕i的博客 3841

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

在C语言中static关键字的用法(静态变量)

从前在写单片机代码时总是用到static这个关键字修饰变量,但对它一直只有一个模糊的概念,最近在对自己的知识结构做优化和拓展,下面是我对它在在C语言中用法的总结。

玄奕子的博客 1204

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

C语言基础-静态变量(static)

局部静态变量在函数第一次被调用时初始化,并且其值在函数调用之间保持不变。即使函数返回,局部静态变量的值也不会丢失,下次函数调用时它仍然保持上次的值。关键字有多种用途,主要与变量的存储期(lifetime)和可见性(visibility)有关。在C语言中,你可以在函数内部声明一个局部静态变量,通过在变量声明前加上。的值都会递增,并输出到目前为止函数被调用的次数。,它在函数第一次被调用时初始化为0。是静态的,它在函数调用之间保持了其值。函数有一个局部静态变量。

层楼终究误少年 5002

静态变量static的理解

static static是C语言关键字之一。 static 数据类型用来给变量创建永久存储空间。静态变量在函数间调用时保持他们的值不变。 它的语法结构为: static c_type data_name; 其中,c_type 为基础的数据类型,data_name是变量名。 生存期 生存期的概念是在程序执行过程中体现的。程序开始执行后,对所需要的变量申请空间,直至这个变量被销毁。这段时间便是一个变...

weixin_45312883的博客 6905

Objective-C中的static变量

Java 、 C++ 语言中,在某个类中声明一个static 静态变量, 其他类中想使用它或者修改它 ,可以使用这个类的类名直接获得这个静态变量的对象,并且可以在其他类中任意修改这个变量的数值。 在Objective-C 中,声明的static静态变量在其他类中是不能通过类名直接访问的,它的作用域只能是在声明的这个.m文件中 。但是可以调用类的静态方法间接的修改静态变量的值。 也就是说不能在...

weixin_30678821的博客 144

c/c++--静态变量和静态函数(static)

在C++中,使用static关键字定义静态成员函数。

XINGXIN 3441

C语言中static静态变量

静态变量的说明符是static static静态变量属于静态存储方式,其存储空间是 静态数据区(也就是存入全局存储区),静态数据区的数据在整个程序运行期间一直占用这些内存。也可以认为他的内存地址一直不变。(静态变量,分配在静态存储区,在数据段中。函数退出之后,变量值不变。) 属于静态存储方式的量不一定就是静态变量。 例如:外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。 所有全局变量都是静态变量,而局部变量只有定义时加上类型修饰符stat

weixin_45797626的博客 1万+

c语言中的static静态变量

静态变量有一个特性,就是即使它们离开了它们的作用域,也会保留它们的值。因此,静态变量在其先前的作用域中保留其先前的值,在新的作用域中不会再次初始化。

Jackcho_W的博客 1957

单片机c语言static,静态变量

1.staticstatic一般不用在主函数中,大多数在中断函数和封装好的子函数里运用,它的作用是保证在子函数或中断函数中定义的变量每次调用完之后都可以保持调用完时候的值,《手把手教你学51单片机》文档7.2节有这个知识点的讲解,不过我们还是用代码来解释这个static的作用吧。2.举例我们要实现像第四章第2讲的实验现象让数码管0从0到F循环显示。本次我们用的是函数封装,代码如下#include...

weixin_33204898的博客 2848

C 语言 static 静态变量

C 语言中 static 静态变量 static变量: 局部 把局部变量改变为静态变量后是改变了它的存储方式,即改变了它的生存期。 静态局部变量在函数内定义,生存期为整个源程序,但作用域与自动变量相同,只能在定义该变量的函数内使用。退出该函数后, 尽管该变量还继续存在,但不能使用它。 对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。 全局 把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。 全局变量本身就是静态存储方式,

小肥丸 1434

C语言 static静态变量的作用

C语言 static静态变量的作用 static c语言的变量种类 静态变量通过关键字 static 进行声明,该变量存储在数据段上,也就是内存上,可以改变变量的作用域和生命周期。 对于局部变量作用域依旧没有改变,只有定义该局部变量的函数和复合语句可以引用,但是其生命周期变成了直到整个源程序文件结束。 对于全局变量生命周期没有发生变化,但是其作用域反而有所减小,只...

u011029104的专栏 565

static静态变量的作用

Static可以用作函数和变量的前缀,对于函数来讲,static的作用仅限于隐藏,而对于变量,static还有下面两个作用。此例中,a是全局变量,msg是函数,并且都没有加static前缀,因此对于另外的源文件main.c是可见的。使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名。E.函数中必须要使用static变量情况:比如当某函数的返回值为指针类型时,则必须是static的局部变量的地址作为返回值,若为auto类型,则返回为错指针。

weixin_45021744的博客 6611
上一篇: object-c的存取权限(public/protected/private)
下一篇: object-c的id
liranke
博客等级 码龄20年 4939粉丝 594原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值