ios
文章平均质量分 83
水郭
梦想的力量,你我同行!
展开
-
ios 委托 可选方法的实现方式
if (_delegate != nil && [_delegate respondsToSelector:@selector(leftWillOpen)]) { [_delegate leftWillOpen]; }原创 2017-01-03 22:41:52 · 683 阅读 · 0 评论 -
hittest和touch相关事件(粗浅理解,待后续整理)
当我们需要重写某个UIView的继承类UIViewInherit的时候,如果需要重写hitTest:withEvent:方法,就会出现是否调用[super hitTest:withEvent:]方法的疑问?究竟是否需要都是看具体需求,这里只是说明调与不调的效果。 如果不调用,那么重写的方法hitTest:withEvent:只会调用重写后的代码,根据所重写的代码返回self或nil,原创 2017-01-12 02:01:18 · 1055 阅读 · 0 评论 -
debug
#ifdef DEBUG # define DLog(fmt, ...) NSLog((@"[文件名:%s]\n" "[函数名:%s]\n" "[行号:%d] \n" fmt), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__); #else # define DLog(...); #endif __VA_ARGS__是一个可变参数转载 2017-01-12 12:39:42 · 289 阅读 · 0 评论 -
ios GCD 定时器
__block int count = 3; // 获得队列 dispatch_queue_t queue = dispatch_get_main_queue(); // 创建一个定时器(dispatch_source_t本质还是个OC对象) self.timer = dispatch_source_create(DISPATCH_SOURCE_TYP原创 2017-02-13 10:47:42 · 819 阅读 · 0 评论 -
CGImageRelease注意事项
在使用CGImageRelease时应注意的事项: 在CFRelease的解释中,提到要release的对象不能是NULL,若是NULL的话,会引起runtime的错误并且程序将要crash。并且使用release后,程序并非直接就release了对象,一般都是有延迟的,所以在第一次调用时表面上是正常的,但到第二次时就崩溃了,可见这个崩溃实际上是第一次的延迟释放对象造成的。而更直接的原因在于CG原创 2017-02-15 23:24:58 · 1485 阅读 · 0 评论 -
pod 笔记
pod转载 2017-05-02 20:52:37 · 348 阅读 · 0 评论 -
NSObject的 load和initialize方法的比较
load和initialize转载 2017-05-02 20:57:08 · 330 阅读 · 0 评论 -
mac 安装了多个版本的Xcode时的注意事项
mac 安装了多个版本的Xcode时, 如果使用cocopod,要记得切换xCode的目录。 切换路径: sudo xcode-select -switch /Applications/Xcode8.0.app/原创 2017-06-21 21:46:16 · 342 阅读 · 0 评论 -
iOS应用程序的Crash报告结构分析
本文分析了一份标准的iOS应用程序的Crash报告,它通常由以下6个部分组成。 1. 报告头(Header) 报告头包含了应用程序以其运行环境的一些基本信息,下面是报告头的一个例子。 复制代码Incident Identifier: E6EBC860-0222-4B82-BF7A-2B1C26BE1E85 CrashReporter Key: 6196484647b3431a9bc2833c1转载 2017-08-24 21:29:14 · 499 阅读 · 0 评论