小胖说事28------iOS中extern,static和const差别和使用方法

通俗的讲:

extern字段使用的时候,声明的变量为全局变量,都能够调用,也有这样一种比較狭义的说法:extern能够扩展一个类中的变量到还有一个类中;

static声明的变量是静态变量,变量值改变过之后,保存这次改变,每次使用的时候都要读取一遍值。

const声明过得变量值是不可改变的。是readonly的属性,不能够改变变量的值。

详细使用方法:

1.static的使用方法:static NSString *str = @"哈哈";

2.const的使用方法:NSString *const str = @"哈哈";

3.extern的使用方法:在A.h里边声明一个变量extern NSString *str = @"123"; 这样就声明了一个全局变量。在B.h里边相同写入代码extern NSString *str;然后再B.m里边直接打印str就能够打印出123来,使用的时候不须要导入A.h文件头,也不区分类是否已经创建等等因素。

希望对大家有所帮助,以后写代码的时候能够更加高大上一些,也是一种技巧。

时间: 2024-11-08 20:36:01

小胖说事28------iOS中extern,static和const差别和使用方法的相关文章

C++类中的static和const

本文列举C++类中的static和const的规则和用法. 以下代码用来举例说明. class A { public: A():m(10) //const成员必须在构造函数的初始化构造列表中初始化 { q = 40; } void fun1()const { m++; //错误.const成员是常量,不能改变其值. n++; //正确.static变量n属于类,但是每个对象的函数都可以访问和改变它. q++; //错误.const成员函数不能改变数据成员的值. } static void fun

IOS中获取各种文件的目录路径的方法

iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它应该定期备份的信息. 2.AppName.app 目录:这是应用程序的程序包目录,

iOS中从网络获取数据的几种方法的比较

IOS中获取网络数据一般有三种:1.NSURLCondition(已过时) 2.NSURLSession  3.三方库AFNetWorking NSURLSession 是苹果对NSULRCondition的替代品,NSURLSession比NSURLCondition多了 1.可配置的数据信息NSURLSessionConfiguration,NSURLSessionConfiguration使你可以设置你要请求的数据,通常的设置如缓存,也可以使用默认的配置信息defaultCongurati

Mint-ui中loadmore(上拉加载下拉刷新)组件在ios中滑动会触发点击事件的解决方法

bug说明: Mint-ui中loadmore(上拉加载下拉刷新)组件 在 使用fastclick的情况下 ,在ios设备中滑动会触发点击事件: 解决方法: 我是按需引入,去项目中找到loadmore下的index.js,全部引入的要找mint下面mint-ui.common.js 路径如下:你的项目名/node_modules\mint-ui\lib\loadmore\index.js 搜索 handleTouchEnd ,记得写event进去 handleTouchEnd: function

OC中extern,static,const的用法

1.const的作用: const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p). 例如 NSString *const SIAlertViewWillDismissNotification;修饰的是SIAlertViewWillDismissNotification 被const修饰的变量是只读的 2.static的作用: 修饰局部变量: 1.延长局部变量的生命周期,程序结束才会销毁. 2.局部变量只会生成一份内存,只会初始化一次. 3.改变局部变量的作用域. 修饰全局变量 1.只能在

小胖说事9------iOS xcode6中新建空工程和在iPhone5s上的程序界面只有iPhone4上的大小

升级xcode6之后,直接建立Empty工程后发现,这是太坑,真的是什么都没有啊.只能换个方法了 总结如下: 1.新建一个single view application 2.打开 Info.plist(别告诉我不知道去哪里找info.plist),删除里面的 Launch screen interface file base name以及 Main Main storyboard file base name 3.删除Main.storyboard以及LaunchScreen.xib 4.修改A

IOS中input光标跑偏问题的解决方法

ios端兼容input光标高度处理 在最近的项目中遇到一个问题,input输入框光标,在安卓手机上显示没有问题,但是在苹果手机上 当点击输入的时候,光标的高度和父盒子的高度一样.造成的原因就是给父盒子添加了height和line-height 当点击输入的时候,光标的高度就自动和父盒子的高度一样了.(谷歌浏览器的设计原则,还有一种可能就 是当没有内容的时候光标的高度等于input的line-height的值,当有内容时,光标从input的顶端到文字 的底部). 解决办法:去掉父盒子的高度heig

IOS中取乱序数据最大值、最小值方法

2016-01-12 / 23:15:58 第一种方法也是常规方法,就是设定一个默认值作为最大值,循环取比这个最大值还大的值并赋值给默认最大值,这样循环完成后这个默认最大值变量里面的值就是最大值了: float maxValue = 0; for (int k = 0; k < [valuesArr count]; k++) { NSArray * tmpArr = [[valuesArr objectAtIndex:k] objectForKey:kBaiduValues]; for (int

(转)IOS中获取各种文件的目录路径的方法

iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它应该定期备份的信息. 2.AppName.app 目录:这是应用程序的程序包目录,