05 2020 档案
摘要:问题描述 近来,发现Xcode的模拟器越来越不靠不住了,应用开发完,在模拟器上面各种流畅各种运行得飞起,但是安装到真机之后,就崩溃了,是闪退啊!~~o(>_<)o ~~ 在模拟器上面没有问题,但是装到真机的时候,发现闪退,这样比较难定位到原因。办法还是有的,问题也总能解决的。方法一:我们可能通过收集
阅读全文
摘要:相信大家在学习C语言的时候,malloc是最早遇到的几个方法之一,这里就来深入的了解下,macOS/iOS中用户空间的内存分配。 引言 首先,我们来看几个有意思的例子,以下几个在x86_64或者ARM64中的运行情况。 1 2 3 char *str = malloc(32); free(str);
阅读全文
摘要:编译器属性__attribute__用于向编译器描述特殊的标识、检查或优化,几个常用的用法看《mattt大神的文章》就好。今天发现一个名为cleanup的黑魔法属性,简单介绍下。 基本用法 __attribute__((cleanup(...))),用于修饰一个变量,在它的作用域结束时可以自动执行一
阅读全文
摘要:我是前言 Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事,ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。而在这背后,objc和编译器都帮我们做了哪些事呢,它们是如何协作来正确管理
阅读全文
摘要:经过分析失败的原因是 因为JSON字符串带空格换行符,空格缘故 /** * JSON字符串转NSDictionary * * @param jsonString JSON字符串 * * @return NSDictionary */ + (NSDictionary *)dictionaryWithJ
阅读全文
摘要:RunLoop简介 概念 RunLoop实际上是一个对象,这个对象在循环中用来处理程序运行过程中出现的各种事件(比如说触摸事件、UI刷新事件、定时器事件、Selector事件),从而保持程序的持续运行;而且在没有事件处理的时候,会进入睡眠模式,从而节省CPU资源,提高程序性能。 RunLoop和线程
阅读全文
摘要:一、GCD简介 Grand Central Dispatch(GCD) 是 Apple 开发的一个多核编程的较新的解决方法。它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统。它是一个在线程池模式的基础上执行的并发任务。在 Mac OS X 10.6 雪豹中首次推出,也可在 iOS 4 及
阅读全文
摘要:UIWebView废弃,迁移WKWebView WWDC 2018中 ,在安全方面,Session上来就宣布了一件重量级的大事,UIWebView正式被官方宣布废弃,建议开发者迁移适配到WKWebView。 在XCode9中UIWebView还是 NS_CLASS_AVAILABLE_IOS(2_0
阅读全文
摘要:EasyJSBridge让JS在Android/iOS WebView中反调接口统一,调用更容易; JS调用Demo <script type="text/javascript" src="EasyJSBridge.js"></script> <script type="text/javascrip
阅读全文