在软件开发中,无论是那种高级语言中总会伴随着一些最为常用的设计模式,下面针对iOS中,MVC模式、代理模式、观察者模式、单例模式、策略模式、简单工厂模式这六大模式进行汇总分析。 一、MVC模式MVC是一种软件设计典范,用一种业务逻辑、...
iOS 中常见 Crash 总结
1、找不到方法的实现unrecognized selector sent to instance 2、KVC造成的crash 3、EXC_BAD_ACCESS 4、KVO引起的崩溃 5、集合类相关崩溃 6、多线程中的崩溃 7、Soc...
runtime(三):基本使用场景
一、方法替换项目代码编写中,常会遇见第三方框架或者原生方法无法满足需求时或是一个方法在工程中大量被调用时,我们想要批量替换或修改,为了避免更改原有功能,**在保持原有方法功能基础上,添加额外的功能**,此时就需要用到Swizzle M...
runtime(二):runtime相关术语及数据结构
要想全面了解 Runtime 机制,我们还要了解 Runtime 的一些术语,他们都对应着数据结构。 Runtime数据结构在Objective-C中,使用[receiver message]语法并不会马上执行receiver对象的m...
runtime(一):runtime基础介绍
一、什么是 runtime?都说 Objective-C 是一门动态语言。首先,动态与静态语言最大的区别,就是动态语言将数据类型的检查等决策尽可能地从程序编译时推迟到了运行时。只要有可能,runtime 就会动态地完成任务。这意味着 ...
iOS12、iOS11、iOS10、iOS9常见适配
一、iOS12(Xcode10)1.1、升级Xcode10后项目报错不允许多个info.plist Xcode10是默认选中的最新的New Build System(Default),在这个编译系统的环境下,不允许多个info.pli...
iOS与JS交互的4种方法
iOS与JS交互的方法1.拦截url(适用于UIWebView和WKWebView)2.JavaScriptCore(只适用于UIWebView,iOS7+)3.WKScriptMessageHandler(只适用于WKWebView...
iOS开发微信SDK的集成(分享、支付)
在我们的App中是很经常的会用到微信的两个功能,1就是分享,2就是支付(通常会和支付宝、银联支付放在一起使用),通常接入这种三方的东西,对于移动端来说,过程都比较简单,但是对于后台来说,一般也不是说难,就是步骤多,配置的东西比移动端多...