社区
iOS
帖子详情
OC中 数组的addObject: 方法在任何一个类中都有可能会被调用,如果在数组中插入了一个 nil值而导致系统崩溃,如何判断是在哪个类中调用引起的呢?
yecai877497637
2016-08-31 05:23:33
OC中 数组的addObject: 方法在任何一个类中都有可能会被调用,如果在数组中插入了一个 nil值而导致系统崩溃,如何判断是在哪个类中调用引起的呢?
...全文
441
4
打赏
收藏
OC中 数组的addObject: 方法在任何一个类中都有可能会被调用,如果在数组中插入了一个 nil值而导致系统崩溃,如何判断是在哪个类中调用引起的呢?
OC中 数组的addObject: 方法在任何一个类中都有可能会被调用,如果在数组中插入了一个 nil值而导致系统崩溃,如何判断是在哪个类中调用引起的呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
无敌帅帅峰
2016-09-02
打赏
举报
回复
在AppDelegate的didFinishLaunchingWithOptions方法中加入下面这行代码: //在程序启动时创建异常捕获监听,用来处理程序崩溃时的回调动作 NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler); 然后实现括号中的方法,就可以查看错误信息: //异常处理函数 void UncaughtExceptionHandler(NSException *exception) { NSArray *arr = [exception callStackSymbols];//得到当前调用栈信息 NSString *reason = [exception reason];//非常重要,就是崩溃的原因 NSString *name = [exception name];//异常类型 NSLog(@"exception type : %@ \n crash reason : %@ \n call stack info : %@", name, reason, arr); }
NSRyan
2016-09-02
打赏
举报
回复
2楼正解,+1
不担心
2016-08-31
打赏
举报
回复
同意楼上的,+1
bao_baoza
2016-08-31
打赏
举报
回复
打个全局的短点,crash的时候,会直接定位到崩溃的代码
如何在
OC
中
没有显示声明的
方法
?
在
OC
中
调用
方法
时,可以直接使用显式 //NSMutableArray
调用
array类
方法
NSMutableArray *arr = [NSMutableArray array]; //NSMutableArray对象
调用
add
Object
方法
[arr
add
Object
:@"element"]; 经常
会
需要执行没有显示声明的
方法
,比如动态添加的
方法
,私有
方法
等,这些
方法
都不能使用 ...
NSOperation 之 Bl
oc
k循环引用——以及
nil
Nil
NULL [NULL null]的区别
已知,字典和
数组
存放的对象都不可以为
nil
,否则
会
使程序
崩溃
。所以在字典或
数组
中
添加对象时,必须先
判断
对象是否为空
nil
,如果为
nil
则不进行对象的添加操作。如果需要将对象赋
值
为空的话就存放[NSNULL null]; [NSNull null]; 空对象,可以存放到字典或
数组
。 NULL: c语言的空指针
nil
:
OC
指向空对象的指针
Nil
: 空类。 根控制器永远不
会
销毁。所以
OC
基础知识点的总结(全),学习
OC
的日记
类的
方法
1.在加号
方法
中
不能使用实例变量,实例变量是依托于对象存在的只有有了对象,实例变量才
会
有空间 2.self 谁
调用
该
方法
,self就代表谁 当
方法
是
一个
减号
方法
时,
调用
该
方法
的对象是谁,self就代表当前对象 当
方法
是
一个
加号
方法
时,
调用
该
方法
的类是谁,self就代表当前类 3.实例变量的可见度: @public:公共的,在任何文件
中
都可以访问,访问方式是通过实例
iOS 面试题(十):runtime 使用——(动态添加
方法
/动态交换
方法
/动态添加属性)
1.动态添加
方法
应用场景:如果
一个
类
方法
非常多,加载类到内存的时候也比较耗费资源,需要给每个
方法
生成映射表,可以使用动态给某个类,添加
方法
解决。 注解:
OC
中
我们很习惯的
会
用懒加载,当用到的时候才去加载它,但是实际上只要
一个
类实现了某个
方法
,就
会
被加载进内存。当我们不想加载这么多
方法
的时候,就
会
使用到 runtime 动态的添加
方法
。 需求:runtime 动态添加
方法
处理
调用
一个
未实现...
OC
runtime 运行时详解
一、简介 1.1 什么是Runtime Runtime是一套底层纯C语言API,我们编写的
OC
代码最终都
会
被编译器转化为运行时代码,通过消息机制决定函数
调用
方式,这也是
OC
作为动态语言使用的基础。 1.2 消息机制的基本原理 在
Object
-C的语言
中
,对象
方法
调用
都是类似[receiver selector] 的形式,其本质:就是让对象在运行时发送消息的过程。 而
方法
调用
[receiver selector]分为两个过程: 编译阶段 [receiver selector]
方法
被编译器转化,分为.
iOS
29,028
社区成员
12,466
社区内容
发帖
与我相关
我的任务
iOS
主要讨论与iOS相关的软件和技术
复制链接
扫一扫
分享
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章