摘要:
一、Crash类型crash 一般产生自 iOS 的微内核 Mach,然后在 BSD 层转换成 UNIX SIGABRT 信号,以标准 POSIX 信号的形式提供给用户。NSException 是使用者在处理 App 逻辑时,用编程的方法抛出。iOS 端的 crash 分为三类:Mach 异常:EXC_CRASHUNIX 信号:SIGABRT系统崩溃而引起的程序 NSException 异常退出常... 阅读全文
摘要:
代码的组织结构,以及为何要这样写。那些场景适合使用子控制器,那些场景应该避免使用子控制器?分离UITableView的数据源和UITableViewDataSource协议。MVVM的重点是ViewModel,不是响应函数式。MVVM中,ReactiveCocoa或RXSwift实现数据绑定的带来的弊端。用策略模式替代if-else或switch这样判断比较多,不利于代码阅读的分支结构。并在特定场... 阅读全文
摘要:
NSProxy 是一个实现了 NSObject 协议类似于 NSObject 的根类。NS_ROOT_CLASS@interface NSProxy { Class isa;}苹果的官方文档:Typically, a message to a proxy is forwarded to the real object or causes the proxy to load (or tra... 阅读全文
摘要:
阅读全文
摘要:
官方的解释:The NSPredicate class is used to define logical conditions used to constrain a search either for a fetch or for in-memory filtering.NSPredicate 类是用来定义逻辑条件,用来有约束的获取内存中的对象或过滤搜索。简而言之:只选取符合条件的对象。一、基... 阅读全文
摘要:
一、NSDictionary 1.1 使用自定义对象 key Dictionaries manage pairs of keys and values. A key value pair within a dictionary is called an entry. Each entry consi 阅读全文
摘要:
一、简介C++ 是基于静态类型,而 Objective-C 是基于动态运行时类型。用 C++ 编写的程序通过编译器直接把函数地址硬编码进入可执行文件;Objective-C 则不能,而是在程序运行的时,利用 Runtime 根据条件判断作出决定。函数标识与函数实现之间的关联可以动态修改。OC 把一些决定工作从编译链接推迟到运行时,有很多类和成员变量在编译时是不知道的,而在运行时,编写的代码会转换成... 阅读全文
摘要:
一、umbrella framework将几个已经封装好的 framework 封装成一个,封装的这种 framework 就是 umbrella framework。Apple 的官方文档中明确提到了不建议自己去创建 umbrellaframework。首先先引入 Apple 的 Guidelins for Creating Frameworks 的一段:Don’t Create Umbrell... 阅读全文
摘要:
Lexical or Preprocessor Issue Umbrella header for module 'xxx' does not include header 'xxx.h' framework 的文件明明被主工程引用了,但是在编译的时候依旧抛出上面的警告。 一、什么是 umbrell 阅读全文
摘要:
身份证识别,又称 OCR 技术。OCR 技术是光学字符识别的缩写,是通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。一、实现原理及步骤灰度化处理将指定图片每个像素点的 RGB 三个分量通过一定的算法计算出该像素点的灰度值,使图像只含亮度而不含色彩信息。二值化将经过灰度化处理的图片转换为只包含黑色和白色两... 阅读全文