objective-c中的static

   在方法之外定义的变量不仅是全局变量,还是外部变量.但是很多场合,我们只需要定义为全局变量,并不是外部变量.也就是说希望定义的全局变量只在特定文件中是全局的,这个变量也只有在特定的类中的方法能访问,再也没有其他方法需要访问这个变量了.

   这就引出了static.

   被static修饰过的变量,在本文件中可以访问,在别的文件则不能.

   在Objective-C中的static并不是像JAVA中那样好用.

   在Objective-C中如何实现像Java中那样的静态成员变量呢?在java里只需要定义static就行了.

   在OC中你需要做的是在一个类A的implementation(.m或者.mm)文件中定义一个static变量,

   然后为A类定义静态成员函数(也就是类方法)来操作该变量。这样在其它类中你就不需要创建A类的实例来对static变量进行访问。虽然该static变量并不是A类的静态成员变量,但是也算达到了同样的效果。static变量的作用域被限制在单一的文件中。代码可以如下所示:

@interface Example : NSObject {

}

 

- (id)init;

+(int)instanceCount; 

@end

 

//example.m

#import "example.h"

staticint count;

 

@implementation Example

-(id)init{

    self = [super init];

    if(nil!=self){

        count+=1;

    }

    returnself;

}

 

+(int)instanceCount{

    return count;

}

 @end

 

上面的例子中你就可以通过[Example instanceCount]对静态变量count进行访问,无须创建实例。

转载于:https://www.cnblogs.com/mohe/archive/2013/03/13/2946894.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/295812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电子计算机制作探测,如何自己制作一个简易的金属探测器

这是一个金属探测电路,它可以隔着地毯探测出地毯下的硬币或金属片。这个小装置很适合动手自制。一、元器件的准备电路中的NPN型三极管型号为9014,三极管VT1的放大倍数不要太大,这样可以提高电路的灵敏度。VD1-VD2为1N4148。电阻均为1/8W。金属…

“对不起,我们只招父母毕业于名牌院校的孩子”:最可怕的,是你还以为学历不重要...

全世界只有3.14 % 的人关注了爆炸吧知识1 近日,有一条新闻引发网友热议。成都某小学入学面试,要求家长除了带照片和身份证件之外,还要带“父母学历证书原件及复印件”。网上有种说法,该小学筛选的标准是父母毕业于211院校。后来眼…

.NET 6 对 StackOverflow 的优化

.NET 6 对 StackOverflow 的优化Intro去年写了一系列的傻逼代码, 其中有一篇 写了多年代码,你会 StackOverflow 吗,昨天一不小心又写了一个 StackOverflow 代码。。然后想把新的代码加到原来 StackOverflow 的示例中,把原来的示例项目改成了 …

【原】python中文文本挖掘资料集合

这些网址是我在学习python中文文本挖掘时觉得比较好的网站,记录一下,后期也会不定期添加:1.http://www.52nlp.cn/python-%E7%BD%91%E9%A1%B5%E7%88%AC%E8%99%AB-%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86-%E7%A7%91%E5%AD%A6%E8%AE%A1%E7%AE%97-…

Android之从网络上获取图片的两种方式讲解:thread+handle和AsyncTask方式

从网络上获取图片是一个比较耗时的操作,放在主线程会导致阻塞主线程,响应超时,所以我们不能把它放在主线程里操作,必须放在一个子线程里,我打算采用两种方式去实现。1、采用thread去获取图片,获取到后通过handle把消息发送到与主线程绑定的消息队列中(也就是主线程的loo…

freeware

http://www.nirsoft.net/utils/iconsext.html转载于:https://www.cnblogs.com/androidme/archive/2013/03/13/2957509.html

卸载wrapt_[python] 安装TensorFlow问题 解决Cannot uninstall 'wrapt'. It is a distutils installed project...

cmd安装 pip install tensorflow1.遇到了ERROR: Cannot uninstall wrapt. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.办法1:输入 pip install -U --ig…

推荐16款非常有创意的婚礼请贴

为什么80%的码农都做不了架构师?>>> 日期:2012-4-5 来源:GBin1.com 婚约是标志着你和你的伴侣很快就要有新的开始了,一起开始那段新的历程!婚礼是整个人生旅途中的一个重要里程碑,在婚礼的邀请…

三年磨一剑,五次被拒稿,交大博士坚持稿件申诉,终发表学科顶刊

全世界只有3.14 % 的人关注了爆炸吧知识本文来源:募格学术三年磨一剑,经历五轮审稿被拒,他坚持不懈,最终申诉成功发表物理顶刊;厚积薄发、精益求精,他潜心科研,2年内发表6篇高水平论文&#xff…

Android之面试题精选,自己收藏下

1.android dvm 的进程和Linux的进程,应用程序的进程是否为同一个概念: 答:dvm是dalivk虚拟机。每一个android应用程序都在自己的进程中运行,都拥有一个dalivk虚拟机实例。而每一个dvm都是在linux的一个进程。所以说可以认为是同一…

Java内部类详解(转)

说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲&…

红旗河最早设计计算机的目的,论红旗河的利弊及其替代方案

最近网上有一条人工河很吸人眼球,它就是我国许多专家们提议的"藏水入疆"的西线调水工程——红旗河,其初衷是好的,想将丰沛的西藏雪化水及降水引入干旱的西北地区滋润出良田来改善中华民族的生存环境,但我认为该工程将是…

.NET Conf 2021 正在进行中,带你看一看微软带来了什么内容

今年最大的.NET活动正在进行, 可以通过Channel9 https://channel9.msdn.com/Events/dotnetConf/2021 看具体的Session 。微软和社区一直在努力统一.NET技术栈。从Visual Studio 到 SQL 和 Azure ,所有功能聚集一堂,让您在桌面、网络、移动和跨平台开发梦…

2013-3-14 生活日记

下午 做java案例和算法设计 5:00—6:00 健身吃饭 6:30 回图书馆做数据挖掘作业 10:30回宿舍 转载于:https://www.cnblogs.com/sunrunzhi/archive/2013/03/14/2959421.html

C# js调用winform方法,C# JS与winform通信

关键组件:System.windows.Forms.WebBroswer 关键声明:类前声明 namespace gdi___ {[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name "FullTrust")][System.Runtime.InteropServices.ComVisibleAtt…

下班忘打卡了什么后果_工厂园区安装人脸识别门禁系统有什么好处?

通常情况下,工厂园区的人员流动都是比较频繁且巨大的。厂区的人员不断的进进出出,主要集中在上下班的时间段里面。对于工厂园区的管理人员来说,怎样管理好人员的进出安全与快捷高效通行,与此同时完成上下班的考勤尤其重要。当前的…

Android之matrix类控制图片的旋转、缩放、移动

在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,他对图片的处理分为四个基本类型: 1、Translate————平移变换 2、Scale————缩放变换 3、Rotate————旋转变换 4、Skew————错切变换 在Android的API里对于每一种变换都提供了三种操作方式…

史上最难逻辑题!据说99.9%的人都做不出来……

全世界只有3.14 % 的人关注了爆炸吧知识非常「逻辑」撩人于无形普林斯顿大学博士生 Raymond Smullyan 是一位非常厉害逻辑高手。在Smullyan与他非常迷恋的女音乐家的第一次约会上,他用了一招意想不到“逻辑”方法,撩她于无形。他说道:“我们来…

中科大计算机博士毕业条件,中国科技大学博士和硕士研究生毕业要求.doc

中国科技大学博士和硕士研究生毕业要求中国科学技术大学研究生学习培养过程要求研究生院、校学位办2011年4月目 录 TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc291147553" 关于博士学位标准修订的指导原则 PAGEREF _Toc291147553 \h 1 HYPERLINK \l "_…

手把手教你学Dapr - 3. 使用Dapr运行第一个.Net程序

注意:文章中提到的命令行工具即是Windows Terminal/PowerShell/cmd其中的一个,推荐使用Windows Terminal运行命令行工具的时候建议以管理员身份,避免踩坑为了保证操作顺畅,建议使用PowerShell先执行一下set-ExecutionPolicy Remot…