摘要:
随着iOS的不断发展,apple也不断推出性能更高的数组遍历方式,下面将对熟悉的五种遍历方式进行列举。 首先定义一个数组,并获取数组长度 一、for循环 二、forin 快速枚举 三、NSEnumerator 四、快速遍历 五、快速迭代 NSLog(@"end"); 根据打印结果最后才打印 end 阅读全文
摘要:
在iOS开发过程中,偶尔会碰到一些编译器警告,如果能够确定该警告不会影响到程序的正常运行,则可以手动告诉编译器忽略掉这个警告 iOS常用的忽略警告类型: 1.方法弃用警告 3.循环引用警告 5.内存泄漏警告 阅读全文
摘要:
Zombie Objects对象研究 一、Xcode 关闭ARC project -> Build settings 搜索 Automatic Reference Counting 设置为NO 二、开启 僵尸对象 选项 三、代码验证 a.关闭ARC,关闭僵尸对象选项时 [person release 阅读全文
摘要:
一、简介 dispatch_group_enter:通知group,下面的任务马上要放到group中执行了。 dispatch_group_leave:通知group,任务完成了,该任务要从group中移除了。 这两种通知可以在多线程间自由穿梭的。 二、验证 下面用代码验证下它们的作用。 运行app 阅读全文
摘要:
一、简介: dispatch_semaphore_t:表示信号,生成信号的方法是 dispatch_semaphore_t semaphore= dispatch_semaphore_create(0); 其中参数0表示该新生成信号的总的信号量为0个。 dispatch_semaphore_wait 阅读全文
摘要:
集合(NSArray,NSSet,NSDictionary等)使用copy与mutableCopy的区别是类似的,下面以NSMutableArray、NSArray 为例子验证如下: 打印的结果:objM:__NSArrayM obj:__NSArrayI 打印的结果:objM1:__NSArray 阅读全文
摘要:
平常开发中会经常用gcd做一下多线程任务,但一直没有对同步、异步任务在串行、并行队列的执行情况做个全面的认识,今天写了个demo跑了下,还是有些新发现的。 代码如下: - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEven 阅读全文
摘要:
podspec文件是cocopods引入的第三方代码库的配置索引文件 它的创建命令是:$pod spec create TestFile podspec文件的常用配置字段介绍 Pod::Spec.new do |spec| spec.name = "BottomComponentLib" spec. 阅读全文
摘要:
iOS系统app崩溃日志手动符号化步骤: 方法一、使用symbolicatecrash工具进行符号化 1.在桌面建立一个crash文件夹,将symbolicatecrash工具、.crash文件、.dSYM文件放到该文件夹中 a.如何查询symbolicatecrash路径位置? 执行命令:find 阅读全文
摘要:
webView文本长按显示英文时,在info.plist文件中添加如下内容: <key>CFBundleLocalizations</key> <array> <string>zh_CN</string> <string>en</string> </array> 阅读全文