iOS错误总结 “instance variable '******' accessed in class method”以及“autoreleasepool的用处
1,instance variable '******' accessed in class method
比如:
@interface MyClass : NSObject{int number;}+(void) printNumber;@endMyClass+(void) printNumber{number =10;NSLog(@"%d",number);}@end
此时发生错误,不能运行,
而原因则是
instance variable '******' accessed in class method
实例变量名'*******‘ 在一个“类方法”(+号方法)里被使用。
这是因为静态方法访问了非静态属性(.h声明的那些属性)即这个方法是加号方法却使用了变量。
类方法(即加号开头的方法)不可以使用实例变量也就是说在加号开头的方法里面不可以使用实例变量
修改方法:只要把类方法变成实例方法即可,也就是把加号改成减号即可
2.这段代码是错误的,
int largenumber = 1000000000;for(int i=0;i<largenumber;i++){Person * p = [Person person];[p study];}
原因即正确改法为:
因为便利构造器产生的对象如果没有autoreleasepool的话是无法释放的,所以当循环数值过大时,产生的对象会越来越多而且使用过的对象无法释放,内存占用越来越大,严重影响性能.所以要在for循环中使用autoreleasepool,即
<span style="color:#006600;">int largenumber = 1000000000;for(int i=0;i<largenumber;i++){@autoreleasepool{Person * p = [Person person];[p study];}}</span>
iOS错误总结 “instance variable '******' accessed in class method”以及“autoreleasepool的用处相关推荐
- 整理iOS 错误警告
1. App installation failed A valid provisioning profile for this executable was not found. 原因是测试手机上没 ...
- Android之ndk编译出现这个错误error: unused variable ‘a‘ [-Werror=unused-variable]
1.问题 在jni里面就加了一行代码 编译的时候出现这个错误 error: unused variable 'a' [-Werror=unused-variable] 2.解决办法 找到相应的Make ...
- ofstream错误:error: variable ‘std::ofstream ofs’ has initializer but incomplete type
在使用std::ofstream写文件时,编译器提示如下错误: error: variable 'std::ofstream ofs' has initializer but incomplete t ...
- Local declaration of 'XXX' hides instance variable
Local declaration of 'XXX' hides instance variable 遇到这种原因,是因为本地变量跟函数参数变量同名.
- IOS错误之----警告 Local declaration of 'XXX' hides insta
今天调试程序遇到这么一个警告! Local declaration of 'XXX' hides instance variable 遇到这种原因,是因为本地变量或函数参数变量同名.看来,还是要注意变 ...
- Local declaration of '' hides instance variable
1.Local declaration of ''a " hides instance variable 翻译为:a的局部声明隐藏了实例变量 解决方式: 变量在之前定义过,建议给变量换个名 ...
- ios 打印 详细错误日志_【专家专栏】林相宇 | IOS错误日志抓取和分析
原标题:[专家专栏]林相宇 | IOS错误日志抓取和分析 在调试自己和别人的IOS App时,发生Crash是非常正常的情况,分析这些Crash的主要手段之一就是分析Crash发生时产生的错误日志.对 ...
- iOS 错误锦集
从今天开始,我打算把自己所有遇到的错误,无论大大小小,都保存下来,以供自己反思,少点粗心才能提高效率 1.This application is modifying the autolayout en ...
- python 错误--UnboundLocalError: local variable '**' referenced before assignment
1 val = 9 2 def test(flag): 3 if flag: 4 val = 1 5 else: 6 print("test") 7 return val 8 9 ...
最新文章
- mysql与access数据库_mysql数据库和access数据库有什么不同吗?
- 2.什么是变量的数据类型
- 字符串处理(POJ1782)
- 转:实例学习PHP程序对用户身份认证实现两种方法
- 怎么避免UpdateData()函数弹出对话框
- React 父组件(hooks)调用子组件(calss)方法
- MySQL索引底层实现原理
- 数组中冒泡排序、直接选择排序、反序排序原理与区别
- iframe自适高度
- HTML5物理游戏开发 - 越野山地自行车(三)粉碎自行车
- 查询字符串(性能对比): Array Vs HashMap
- CuteFtp通用注册码
- thon应用领域介绍
- (imooc笔记)短除法计算算 十进制 八进制 十六进制
- 基于PHP的餐饮行业管理系统
- 手机怎么使用涂鸦?分享几个手机视频怎么添加涂鸦的妙招
- Unreal Engine 4 学习总动员读书笔记
- 详谈HTTPS SSL/TLS协议原理
- java中三个等号_Java细节:单等于号、双等于号、三等于号的作用及双等于号和equls的区别...
- Python最佳学习路线图