IOS:类方法(静态方法)和实例方法
2023-09-27 14:24:03 时间
1.实例方法/动态方法
a).标识符:-
b).调用方式:(实例对象 函数)
c).实例方法在堆栈上。
2.静态方法/类方法
a).标识符:+
b).调用方式:(类 函数)
c).静态方法在堆上分配内存。
3.静态方法和实例方法的区分
a).静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存。事实上,方法都是一样的,在加载时机和占用内存上,静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。
b).静态方法在堆上分配内存,实例方法在堆栈上。事实上所有的方法都不可能在堆或者堆栈上分配内存,方法作为代码是被加载到特殊的代码内存区域,这个区域是不可写的。
c).实例方法需要先创建实例才可以调用,比较麻烦,静态方法不用,比较简单。
d).静态方法是静态绑定到子类,不是被继承。
e).一般使用频繁的方法用静态方法,用的少的方法用动态的。静态的速度快,占内存。动态的速度相对慢些,但调用完后,立即释放类,可以节省内存,可以根据自己的需要选择是用动态方法还是静态方法。
f).静态方法修改的是类的状态,而对象修改的是各个对象的状态。
g).类的实例调用是在类的生命周期中存在,当类没有了以后,对应的实例也就没有了,对应的方法也就没有了。静态类不然,只要你引用了那个静态类的命名空间,它就会一直存在,直到我们推出系统。
注:下面的就是用的类方法,特点:首字母大写,实例方法往往首字母小写
相关文章
- ios xcode Could not load the "MyImage.png" image referenced from a nib in the bundle with identifier "com.mytest.MyProject"
- 《iOS 8案例开发大全》——实例001
- 《iOS 8案例开发大全》——实例004 代码缩进和提示处理
- iOS scrollView如何居中缩放
- ios-如何将UIColor RGB颜色转换为uint32_t值
- iOS自定义一个仿网易左右滑动切换页面框架
- iOS 自动布局框架 – Masonry 详解
- iOS 10 推送必看(高阶1)
- 七款Debug工具推荐:iOS开发必备的调试利器
- 通过浏览器调用Android要么iOS应用
- iOS开发-加在透明视图上的控件会透明
- iOS - 处理计算精度要求很高的数据,floatValue,doubleValue等计算不精确问题
- IOS开发之小实例--使用UIImagePickerController创建一个简单的相机应用程序
- iOS之微博UI实例--拟物化设计(成功了90%)
- IOS之UI--小实例项目--添加商品和商品名(使用xib文件终结版) + xib相关知识点总结